Linux 中 shell 条件判断 if 中的 -a 到 -z 的意思

Bash Shell gongyj 11793℃ 已收录 0评论

Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

实际上 Shell 是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell 编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的 Shell 程序与其他应用程序具有同样的效果。

Linux 提供了像 Microsoft Windows 那样的可视的命令输入界面–X Window 的图形用户界面(GUI)。它提供了很多桌面环境系统,其操作就像Windows 一样,有窗口、图标和菜单,所有的管理都是通过鼠标控制 GNOME。
Linux中有多种不同的版本 shell,其中缺省使用的是 Bash。每个 Linux 系统的用户可以拥有他自己的用户界面或 Shell,用以满足他们自己专门的 Shell 需要。主要有下列版本的 Shell:

    Bourne Shell:是贝尔实验室开发的。

    BASH:是 GNU 的Bourne Again Shell,是 GNU 操作系统上默认的 shell。

    Korn Shell:是对 Bourne SHell 的发展,在大部分内容上与 Bourne Shell 兼容。

    C Shell:是 SUN 公司 Shell 的 BSD 版本。

    Z Shell:The last shell you’ll ever need! Z是最后一个字母,也就是终极 Shell。它集成了 bash、ksh 的重要特性,同时又增加了自己独有的特性。

这里介绍的就是 BASH ,当你学会一种 Shell 以后,其它的 Shell 会很快就上手,大多数的时候,一个Shell Script 通常可以在很多种 Shell上使用。

[ -a FILE ]               如果 FILE 存在则为真。
[ -b FILE ]               如果 FILE 存在且是一个块特殊文件则为真。
[ -c FILE ]               如果 FILE 存在且是一个字特殊文件则为真。
[ -d FILE ]               如果 FILE 存在且是一个目录则为真。
[ -e FILE ]               如果 FILE 存在则为真。
[ -f FILE ]               如果 FILE 存在且是一个普通文件则为真。
[ -g FILE ]               如果 FILE 存在且已经设置了SGID则为真。
[ -h FILE ]               如果 FILE 存在且是一个符号连接则为真。
[ -k FILE ]               如果 FILE 存在且已经设置了粘制位则为真。
[ -p FILE ]               如果 FILE 存在且是一个名字管道(F如果O)则为真。
[ -r FILE ]               如果 FILE 存在且是可读的则为真。
[ -s FILE ]               如果 FILE 存在且大小不为o则为真。
[ -t FD ]                 如果文件描述符 FD 打开且指向一个终端则为真。
[ -u FILE ]               如果 FILE 存在且设置了SUID (set user ID)则为真。
[ -w FILE ]               如果 FILE 如果 FILE 存在且是可写的则为真。
[ -x FILE ]               如果 FILE 存在且是可执行的则为真。
[ -O FILE ]               如果 FILE 存在且属有效用户ID则为真。
[ -G FILE ]               如果 FILE 存在且属有效用户组则为真。
[ -L FILE ]               如果 FILE 存在且是一个符号连接则为真。
[ -N FILE ]               如果 FILE 存在 and has been mod如果ied since it was last read则为真。
[ -S FILE ]               如果 FILE 存在且是一个套接字则为真。
[ FILE1 -nt FILE2 ]       如果 FILE1 has been changed more recently than FILE2, or 如果 FILE1 exists and FILE2 does not则为真。
[ FILE1 -ot FILE2 ]       如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。
[ FILE1 -ef FILE2 ]       如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。
[ -o OPTIONNAME ]         如果 shell选项 “OPTIONNAME” 开启则为真。
[ -z STRING ]            “STRING” 的长度为零则为真。
[ -n STRING ] or [ STRING ] “STRING” 的长度为非零 non-zero则为真。
[ STRING1 == STRING2 ]    如果2个字符串相同。 “=” may be used instead of “==” for strict POSIX compliance则为真。
[ STRING1 != STRING2 ]    如果字符串不相等则为真。
[ STRING1 < STRING2 ]     如果 “STRING1” sorts before “STRING2” lexicographically in the current locale则为真。
[ STRING1 > STRING2 ]     如果 “STRING1” sorts after “STRING2” lexicographically in the current locale则为真。
[ ARG1 OP ARG2 ]         “OP” is one of -eq, -ne, -lt, -le, -gt or -ge. These arithmetic binary operators return true if “ARG1” is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to “ARG2”, respectively. “ARG1” and “ARG2” are integers.


本站文章如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:http://blog.chopmoon.com/favorites/218.html
喜欢 (1)
发表我的评论
取消评论

表情 代码 贴图 加粗 链接 私信 删除线 签到

Hi,请填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
正在加载中……