shell脚本常用参数说明

介绍Shell脚本常用参数使用说明

Posted by guanyang on 2022-06-08
Words 547 and Reading Time 2 Minutes
Viewed Times

文件表达式

  • -e filename 如果 filename存在,则为真

  • -d filename 如果 filename为目录,则为真

  • -f filename 如果 filename为常规文件,则为真

  • -L filename 如果 filename为符号链接,则为真

  • -r filename 如果 filename可读,则为真

  • -w filename 如果 filename可写,则为真

  • -x filename 如果 filename可执行,则为真

  • -s filename 如果文件长度不为0,则为真

  • -h filename 如果文件是软链接,则为真

  • filename1 -nt filename2 如果 filename1比 filename2新,则为真。

  • filename1 -ot filename2 如果 filename1比 filename2旧,则为真。

整数变量表达式

  • -eq 等于

  • -ne 不等于

  • -gt 大于

  • -ge 大于等于

  • -lt 小于

  • -le 小于等于

字符串变量表达式

  • if [ $a = $b ] 如果string1等于string2,则为真,字符串允许使用赋值号做等号

  • if [ $string1 != $string2 ] 如果string1不等于string2,则为真

  • if [ -n $string ] 如果string 非空(非0),返回0(true)

  • if [ -z $string ] 如果string 为空,则为真

  • if [ $sting ] 如果string 非空,返回0 (和-n类似)

  • 逻辑非 ! 条件表达式的相反

    • if [ ! 表达式 ]

    • if [ ! -d $num ] 如果不存在目录$num

  • 逻辑与 –a 条件表达式的并列

    • if [ 表达式1 –a 表达式2 ]
  • 逻辑或 -o 条件表达式的或

    • if [ 表达式1 –o 表达式2 ]

$0, $#, $*, $@, $?, $$的含义

  • $0:当前脚本的文件名
  • $n:传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
  • $#:传递给脚本或函数的参数个数
  • $*:传递给脚本或函数的所有参数
  • $@:传递给脚本或函数的所有参数
  • $* 和 $@ 的区别:
    • $* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(“”)包含时,都以”$1” “2”…”n” 的形式输出所有参数
    • 当它们被双引号(“”)包含时,”$*”会将所有的参数作为一个整体,以”$1 $2 … n”的形式输出所有参数 ;”@” 会将各个参数分开,以”$1” “2”…”n” 的形式输出所有参数
  • $?:上个命令的退出状态,或函数的返回值
  • $$:当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID

If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !

...

...

00:00
00:00