Liunx 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 存在且大小不为0则为真。

[ -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则为真

整数变量表达式

-gt是大于的意思。
-eq是等于的意思。
-ne是不等于的意思。
-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 n u m ] 如果不存在目录 num ] 如果不存在目录 num]如果不存在目录num

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

if [ 表达式1 –a 表达式2 ]

 逻辑或 -o                   条件表达式的或

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux Shell脚本文件是一种文本文件,包含一系列命令和脚本语句,用于自动化执行一系列操作。你可以使用文本编辑器创建一个扩展名为.sh的文件,并在其中编写Shell脚本代码。然后,你可以通过终端运行这个脚本文件,让系统按照你的脚本指令执行相应的操作。 为了引用外部脚本并将其内容合并到当前脚本中,你可以使用`.`或者`source`命令,后跟外部脚本的文件名。例如,你可以使用以下命令来引用名为filename的外部脚本: ``` . filename ``` 或 ``` source filename ``` 显示主目录下以`.bash`开头的文件的脚本可以使用以下代码: ```bash #!/bin/bash for FILE in $HOME/.bash* do echo $FILE done ``` 在这个脚本中,`$HOME`代表当前用户的主目录,`$HOME/.bash*`会匹配主目录下以`.bash`开头的文件。然后,使用循环遍历匹配到的文件,并用`echo`命令将文件名打印出来。 关于注释的问题,在Shell脚本中,你可以使用`#`进行单行注释。注意,Shell脚本中没有多行注释的语法,你只能在每一行前加上`#`来实现注释。例如,下面是一个使用了注释的Shell脚本示例: ```bash #!/bin/bash # 这是一个Shell脚本示例 # 用于打印"Hello, world!"到终端 echo "Hello, world!" ``` 在这个示例中,`#`后的内容将被视为注释,不会被脚本执行。 希望这些信息对你有帮助!如果你有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值