shell参考卡片

下面的参考卡片提供了对于某些特定的脚本概念的一个总结. 之前我们已经对这里所提及的概念进行了

详细的解释, 并且给出了使用的例子.


表格 B-1.

特殊的shell变量
变量 含义
$0 脚本名字
$1 位置参数 #1
$2 - $9 位置参数 #2 - #9
${10} 位置参数 #10 (10以上参数需要加{})
$# 位置参数的个数
"$*" 所有的位置参数(作为单个字符串) *
"$@" 所有的位置参数(每个都作为独立的字符串)
${#*} 传递到脚本中的命令行参数的个数
${#@} 传递到脚本中的命令行参数的个数
$? 返回值
$$ 脚本的进程ID(PID)
$- 传递到脚本中的标志(使用set)
$_ 之前命令的最后一个参数
$! 运行在后台的最后一个作业的进程ID(PID)

*  必须被引用起来, 否则默认为" $@" .


表格 B-2.

二元比较
操作 描述 ----- 操作 描述
     

算术比较


字符串比较  
-eq 等于   = 等于
      == 等于
-ne 不等于   != 不等于
-lt 小于   \< 小于 (ASCII) *
-le 小于等于      
-gt 大于      
-ge 大于等于   \> 大于 (ASCII) *
      -z 字符串为空
      -n 字符串不为空
         
算术比较 双括号(( ... ))结构      
> 大于      
>= 大于等于      
< 小于      
<= 小于等于      



*   如果在双中括号 [[ ... ]]  测试结构中使用的话, 那么就不需要使用转义符\ 了


表格 B-3.

文件类型的测试操作
操作 测试条件 ----- 操作 测试条件
-e 文件是否存在   -s 文件大小不为0
-f 是一个标准文件      
-d 是一个目录   -r 文件具有读权限
-h 文件是一个符号链接   -w 文件具有写权限
-L 文件是一个符号链接   -x 文件具有执行权限
-b 文件是一个块设备      
-c 文件是一个字符设备   -g 设置了sgid标记
-p 文件是一个管道   -u 设置了suid标记
-S 文件是一个socket   -k 设置了"粘贴位"
-t 文件与一个终端相关联      
         
-N 从这个文件最后一次被读取之后,
 它被修改过
  F1 -nt F2 文件F1比文件F2新 *
-O 这个文件的宿主是你   F1 -ot F2 文件F1比文件F2旧 *
-G 文件的组id与你所属的组相同   F1 -ef F2 文件F1和文件F2都是同一个
文件的硬链接 *
         
! "非" (反转上边的测试结果)      

*   二元操作符(需要两个操作数).




你可能感兴趣的:(shell,shell,Linux,变量,参考)