3 Shell 脚本

Wu Jun 2019-01-05 17:03:33
09 DevOps > 6 Linux

开始

约定文件第一行必须以 “#!”开始,指明脚本执行的解释器

运行

chmod +x filename

变量

变量无需声明
赋值:变量名和等号之间不能有空格
使用:前加$符号,可选加{}帮解释器识别变量的边界
删除:unset
字符串:单引号中变量失效
数组:括号表示数组,空格分割
传递参数:$0,$1…,第一个参数就是$0

函数

调用包含:source或.关键字 +文件

[ function ] funname [()]
{
    action;
    [return int;]
}

1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255

流程控制

流程控制不可为空,分支下没语句执行就别写
if
判断符号[ ]:方括号中空格键分隔,双引号包含变量或常量

if condition
then
    command...
elif condition2
    command...
else
    command...
fi

for

for var in item1 ... 
//或
for (( EXP1; EXP2; EXP3 ))
//或
while condition
//或
until condition
do
    command1
    ...
done

case
esac作为结束标记,右圆括号case分支,两个分号表示break

case opt in
    condition1 )
        command1
        exit
    ;;
esac