文章目录
shell中的特殊参数
1.$变量名(位置参数)
多个位置参数的传递引用
修改后:
2.获取脚本文件的名称及路径
$0获取
用$0来获取时:
若不带路径执行脚本,那么输出结果就是脚本的名字;
若使用绝对路径执行脚本,那么输出结果或就是绝对路径
单独获取脚本文件的路径和名称
若不带路径执行脚本,输出的结果为".",代表当前路径
若带绝对路径执行脚本,输出的结果为路径名
3.$#获取脚本传参的个数
4.set设置位置参数
5.$* 和[email protected]的区别
$* 和[email protected]都表示参数列表中所有的参数
此时二者没有区别。
两者的区别在于:
当$* 和[email protected]被双引号(" “)包含时,$*会将所有的参数作为一个整体以“$1 @`会以$1” “$2”…形式输出所有参数
6.shift用于参数的移动
shift命令用于对于参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理。
7.$?获取函数的返回值
当一个进程执行完毕时,该进程会提供一个退出码(一个整数)表明它准备退出的原因。按照惯例,0用来表明正常或者说“成功”的终止
也就是说我们在执行echo $?时返回的值就是进程的退出码,这个退出码是由刚刚执行完的进程提供给系统内核的.
$?是一个特殊变量,用来获取上一个命令的退出状态,或者上一个函数的返回值。所谓退出状态,就是上一个命令执行后的返回结果。退出状态是一个数字,一般情况下大部分命令执行成功会返回0,失败返回1,这和c语言中的main()函数是类似的
理解返回值:
应用:判断参数是否正确
应用:$? 获取函数的返回值