|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1. 测试开关Shell中自带的一些测试指令, 下表列出这些测试指令的含义以及是否可用于 test命令, bash, ksh. 开关 | test | bash | ksh | 定义 | -a FILE | | 支持 | 支持 | 只是文件存在 | -b FILE | 支持 | 支持 | 支持 | 文件存在, 并且是一个类似于 /dev 下的磁盘设备之类的块文件 | -c FILE | 支持 | 支持 | 支持 | 文件存在, 并且是一个类似于 /dev 下的TTY设备之类的字符文件 | -d FILE | 支持 | 支持 | 支持 | 文件存在, 并且是一个标准目录 | -e FILE | 支持 | 支持 | 支持 | 只是文件存在 | -f FILE | 支持 | 支持 | 支持 | 文件存在, 并且是一个类似于平面文件的标准文件 | -g FILE | 支持 | 支持 | 支持 | 文件存在, 并且是一个set-group-ID. 这是指对文件可执行性的用户有效组进行改变的文件许可 | -G FILE | 支持 | 支持 | 支持 | 文件存在, 并且它的组所有权是用户的有效组ID | -h FILE | 支持 | 支持 | 支持 | 文件存在, 并且它是一个符号链接. 和 -L 一样 | -k FILE | 支持 | 支持 | 支持 | 文件存在, 并且它粘着位设置. 这意味着只有文件的所有者或者目录的所有者可以删除文件 | -l STRING | 支持 | | | 和类似于 /usr/bin/test -l string -gt 5 && echo 的数字值, 比较 STRING 长度 | -L FILE | 支持 | 支持 | 支持 | 文件存在, 并且它是一个符号链接. 和 -h 一样 | -n STRING | 支持 | 支持 | 支持 | STRING 的长度非零 | -N FILE | | 支持 | 支持 | 文件存在, 但是自从最近一次读入之后, 已经被修改 | -o OPTION | 支持 | 支持 | 支持 | 如果 shell 的 OPTION 被打开, 返回真, 例如 set -x | -O FILE | 支持 | 支持 | 支持 | 文件存在, 并且它的所有者由有效的用户ID决定 | -p FILE | 支持 | 支持 | 支持 | 文件存在, 并且它是一个命名管道 (or FIFO) | -r FILE | 支持 | 支持 | 支持 | 文件存在, 并且可读 | -s FILE | 支持 | 支持 | 支持 | 文件存在, 并且它的大小大于 0 字节 | -S FILE | 支持 | 支持 | 支持 | 文件存在, 并且它是一个 socket | -t [FD] | 支持 | 支持 | 支持 | 在一个终端打开 FD(文件描述符), 默认是 stdout | -u FILE | 支持 | 支持 | 支持 | 文件存在, 并且 set-user-ID 被设置 | -w FILE | 支持 | 支持 | 支持 | 文件存在, 并且可写 | -x FILE | 支持 | 支持 | 支持 | 文件存在, 并且可执行 | -z STRING | 支持 | 支持 | 支持 | STRING 的长度为 0 | , l7 C% j3 @ l5 G, Q8 e% d
2. 特殊参数shell中的特殊参数是shell的内部变量, 要用 前缀$ 来使用. 比如 echo $? 就是获取 shell内部变量 "?" 的值.
1 T% q1 U$ L3 e- \9 o5 b内容变量一览: 参数 | 定义 | * | 从 1 开始, 完成所有位置变量列表. 如果被双引号引上, 成为有 IFS (内部文件分隔符)值的第一个字符分割的单词 | @ | 从 1 开始, 完成所有位置变量列表. 如果被双引号引上, 将每一个位置参数变成单个词 | # | 以十进制表示的位置参数数目 | ? | 最后或者最近一个前台任务的返回码. 如果任务被一个信号杀掉, 返回值为 128 加上信号的值. 例如: 标准kill信号值是 15, 那么返回值就是 143 | - | 所有发送给 shell 的标志, 或者 set 命令提供的标志 | $ | shell 进程ID. 如果在子shell中, 它被扩展为当前shell的值, 而不是子shell的值 | ! | 最近被放到后台执行的命令的进程ID | _ | 扩展为前一个命令的最后一个参数 | 0 | 扩展为shell或者shell脚本的名字 | 1…9 | 提供给shell, 函数或者脚本的位置参数. 比 9 大的值可以用 ${number} 来访问 | 6 ~9 R0 y7 ]. }6 N6 K3 V. F
) Y. U- O3 _. w6 r6 v. |* J
- ]8 o( K2 f& D- z
4 |1 h! J! v7 s/ v4 x6 R% g
) S+ V$ u' t5 `2 j3 @% N! }$ Z
8 H) h" t) }- \: M$ o |
|