[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。 [ -o OPTIONNAME ] 如果 shell选项 “OPTIONNAME” 开启则为真。 [ -z STRING ] “STRING” 的长度为零则为真。 字符串为空即NULL时为真。 [ -n STRING ] or [ STRING ] “STRING” 的长度为非零 non-zero则为真。
[ -x FILE ] 如果FILE 存在且是可执行的则为真 [ -z FILE ] “STRING” 的长度为零则为真 [ -O FILE ] 如果FILE 存在且属有效用户ID则为真 [ - G FILE ] 如果FILE 存在且属有效用户组则为真 [ -L FILE ] 如果FILE 存在且是一个符号连接则为真 [ -N FILE ] 如果FILE 存在 and has been ...
表示后面的那个目录不存在,则执行后面的then操作 [-e file] 如果file文件存在则为真 [-f file] 如果file存在且是一个普通文件则为真 [-g file] 如果file存在且已经设置了SGID则为真(SUID 是 Set User ID, SGID 是 Set Group ID的意思) [-h file] 如果file存在且是一个符号连接则为真 [-k file] 如...
shell脚本中的“if[-z$variable]”无法识别我的变量 linux bash shell environment-variables sh 当我运行下面的脚本时,它一直默认为else语句,我不知道为什么。我甚至包括了一个echo$工作流,它向我显示了我希望看到的名称,但它仍然默认为else语句。 我尝试过包含一个导出名称检查=$workflow,看看这是否是问题所在,但...
if [ -z "$n" ] ##变量n 为空 then echo "Please input a number." exit 1 ##结束脚本,返回值1 fi #n1将输入的字符串所包含的数字清空,并检查变量是否为空,如果不为空,就证明输入有其他的字符,告知用户,请输入一个数字 n1=`echo $n|sed 's/[0-9]//g'` //确定,n变量是否为数字 ...
if [ -z “$n” ] then echo error exit elif [ $n -gt 100 ] then echo abcdef fi [root@linux-01 shell]# sh if4.sh //执行脚本,如果/tmp/lalal文件不存在,就直接退出脚本 /tmp/lalal not exist. 2、if [ -n “a" ] 表示当变量a的值不为空 实例: [root@linux-01 shell]# if [ -...
if [ -z "$d" ] then echo "d is empty" fi 备注:-e 文件存在 -a 文件存在(已被弃用) -f 被测文件是一个regular文件(正常文件,非目录或设备) -s 文件长度不为0 -d 被测对象是目录 -b 被测对象是块设备 -c 被测对象是字符设备 -p 被测对象是管道 -h 被测文件是符号连接 -L 被测文件是...
记录下shell的if判断条件里-z到-d的意思 条件含义 [ -a FILE ]如果 FILE 存在则为真。 [ -b...
示脚本的用法是错误if[-z"$1"];then #-n 的意思是不换行,不回车,两个echo分别会用两个颜色显示,但最终会在同一行显示,因为第一个echo没有换行 echo-n"用法:脚本 "echo-e"3[35m域名或IP"exit fi#c(设置ping的次数),i(设置ping的间隔描述),-W(设置超越时间)ping-c2-i0-W1"$1"&>/dev/nullif[$...
-z检测字符串长度是否为0,为0返回 true。[[ -z $a ]] 返回 false。-n检测字符串长度是否不为 ...