linux 学习笔记四
shell 执行过程
bash 类型
Login Bash
Interactive Bashshell 执行
• 父 shell Fork 一 sub-shell
• Sub-shell继承父shell环境 • Sub-shell调用指定的解释器解释执行该脚本 • Sub-shell退出,相关环境被销毁 • 父 shell 取得 sub-shell 的退出状态shell 解析
1 、 brace expansion (花括号扩展)
2 、 tilde expansion (波浪线扩展) 3 、 parameter, variable expansion (变量扩展) 4 、 arithmetic expansion (算术扩展) 5 、 command substitution (命令替换) 6 、 word splitting (词的拆分) 7 、 pathname expansion (路径名扩展)Bash 语法
变量
• 变量赋值: name=value
• 变量引用: ${name}合法的变量名: 字母、下划线、数字
注意: – = 号两边不允许空格 – $name 是 ${name} 的简写常用变量
数值计算
-
-
- / % ( 加 , 减 , 乘 , 除 , 取模 )
-
i=10; j=20;
(( i++ )) (( cnt=i+j)) cnt=$(( i+j)) (( k = i * j )) (( k = j / i )) (( k = j % i ))流程控制
提交判断:
– if
– && 与 || – case循环:
– for, while
– break, continue# if elseif expression; then...if [[ -f /etc/SuSE-release ]]; thenelif expression; thenecho SUSE OS ...elseelif [[ -f /etc/slackware-version ]]; then echo Slackware OSelse echo “Redhat ?”fi# && ||[[ -z $default ]] && default=”ok”[[ -n $default ]] || default=”ok”# case case $var in condition1) ... ;; condition2) ... ;; *) ... ;;esac # for for var in item1 item2 ... itemNdo command1 command2 ... commandNdone# while while conditiondo commanddone
函数
shell中函数的定义格式如下:
[ function ] funname [()]{ action; [return int;]}
说明:
1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)