对shell中常见参数及判断命令介绍
Shell常用特殊变量
经常会在shell命令中,看到$0,$#,$*,$@,$?,$$这样的取值,这些代表什么呢?
$*和$@都是将参数一个一个返回
"$*"将所有参数当做一个整体字符串返回,"$@"将参数一个一个返回
常用判断参数
在shell命令文件中还经常会看到类似与if[-z"${SPARK_HOME}"];then这样的判断语句?是不是也和我一样很疑惑-z是什么含义?
下面是几个常见的参数,供查询使用:
-afileexists. -bfileexistsandisablockspecialfile. -cfileexistsandisacharacterspecialfile. -dfileexistsandisadirectory. -efileexists(justthesameas-a). -ffileexistsandisaregularfile. -gfileexistsandhasitssetgid(2)bitset. -GfileexistsandhasthesamegroupIDasthisprocess. -kfileexistsandhasitsstickybitset. -Lfileexistsandisasymboliclink. -nstringlengthisnotzero. -oNamedoptionisseton. -OfileexistsandisownedbytheuserIDofthisprocess. -pfileexistsandisafirstin,firstout(FIFO)specialfileornamedpipe. -rfileexistsandisreadablebythecurrentprocess. -sfileexistsandhasasizegreaterthanzero. -Sfileexistsandisasocket. -tfiledescriptornumberfildesisopenandassociatedwithaterminaldevice. -ufileexistsandhasitssetuid(2)bitset. -wfileexistsandiswritablebythecurrentprocess. -xfileexistsandisexecutablebythecurrentprocess. -zstringlengthiszero.
判断命令
shell中除了有上边这样用来判断文件是否存在的参数,当然还有判断两个数是否相等这样更常规的命令
例如,if[$#-gt0]这样判断传入参数个数是否为0
以上这篇对shell中常见参数及判断命令介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。