ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## Shell特殊位置变量 #### Shell中存在一些特殊且重要的变量,如下 * $0    获取当前执行Shell脚本的文件名字,如果执行脚本时候加了路径,那就包含脚本路径跟脚本名字一起输出 * $n    获取当前执行Shell交本的第n个参数,n=1..9,n>9,后面参数变量就需要用大括号,如:${10},以空格分隔 * $#    获取当前执行Shell脚本接了多少个参数(总计) * $\*    获取当前执行Shell脚本所有传参的参数 * $@    获取当前执行Shell脚本所有传参的参数($\*和$@详解见例子) ***** ## Shell特殊状态变量 #### Shell特殊状态变量 * $?     获取执行上一个指令的执行状态返回值(0成功,非0为失败) * $$      获取当前执行Shell脚本的进程号(PID) * $!      获取上一个在后台工作的进程的进程号(PID) * $\_      获取在此之前执行的命令或脚本的最后一个参数 ***** ## Shell特殊扩展变量 #### Shell特殊位置变量 我们可以man bash 命令,然后搜索"Parameter Expansion"来查找相关的内容帮助 * ${parameter:-word}       如果parameter的变量值为空或没赋值,则返回word字符串并代替变量的值(变量没定义,返回备用的值,防止变量为空或没定义报错) * ${parameter:=word}      如果parameter的变量值为空或没赋值,。。。同上,(变量没定义为防止出错,找的备胎变量) * ${parameter:?word}      如果parameter的变量值为空或者没赋值,word字符串就作为标准错误输出,否则出书变量的值(捕捉由于变量未定义导致的错误,并退出) * ${parameter:+word}      若果parameter的变量值为空或者未赋值,则什么都不做,否则word字符串将代替变量的值。