文章

shell编程

shell编程

变量

位置变量

  • \$1:表示第一个参数。
  • \$2:表示第二个参数。
  • \$3\$4\$5……:依次类推。
  • \$0:表示当前脚本的名称。
  • $#:表示传递给脚本的参数个数。
  • $*:表示所有参数作为一个单一字符串。
  • $@:表示所有参数作为独立的字符串。
  • $?:表示上一条命令执行的正确还是错误。
  • $$:表示当前程序的进程编号(PID)。

条件测试

数值比较

字符串比较

文件测试

  • -f:文件存在的时候为真。
  • -b:文件时否是块文件。
  • -d:目录是否存在。
  • -h:文件是否是链接文件。
  • -c:是否为字符文件。
  • -e:是否为文件或目录。
  • -g:文件或目录有sgid权限时为真。

  • -k:文件是否设置了粘滞位(sticky bit)。
  • -p:文件是否是命名管道(FIFO)。
  • -r:当前用户对文件是否可读。
  • -s:文件是否非空(大小大于0)。
  • -t:文件描述符是否指向一个终端设备。
  • -u:文件或目录是否有suid权限。
  • -w:文件是否可写。
  • -x:文件是否可执行。
  • -O:文件是否属于当前用户。
  • -G:文件是否属于当前用户所在的组。
  • -L:文件是否是符号链接。
  • -N:文件自上次读取后是否被修改过。
  • -S:文件是否是套接字(socket)。
  • -z:判断字符串长度是否为0。
  • -n:判断字符串长度不为0。

数值计算

  • let

  • $(())

本文由作者按照 CC BY 4.0 进行授权
0  字
评论
Powered by Waline v1.6.0