- shift 命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然
后进行相应处理(常见于 Linux 中各种程序的启动脚本) - 在扫描处理脚本程序的参数时,经常要用到的 shift 命令,如果你的脚本需要 10 个或 10 个以上的
参数,你就需要用 shift 命令来访问第 10 个及其后面的参数 - 使用 return 命令来退出函数并返回特定的退出码。注:状态码的确定必需要在函数一结束就运行 return 返回值;状态码的取值范围(0~255)
[root@xuegod63 ~]# cat fun-4.sh #!/bin/bash fun1(){ read -p "Input a value: " va echo $[$va*5] } num=$(fun1) echo current num is $num [root@xuegod63 ~]# sh fun-4.sh Input a value: 22 current num is 110
注:这里的函数返回值跟其它编程语言的返回值不太一样。如果函数里面有return语句,那么通过“变量=$(函数名)”的形式是获得不到函数的返回值的。只有函数里面写了echo 才能返回。想获得return返回值,只能在函数调用后,通过“变量名=$?”的形式获得。
- 用function字样定义函数时左大括号跟前面函数名要加一个空格,不加会报错。如果是用函数名()的形式不需要加空格
function fun1 { num=$[var1*2] } fun1(){ num=$[var1*2] }
- 全局变量,默认情况下,你在脚本中定义的变量都是全局变量,你在函数外面定义的变量在函数内也可以使用