-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
整数变量表达式
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
字符串变量表达式
If [ b ] 如果string1等于string2,则为真
字符串允许使用赋值号做等号
if [ string2 ] 如果string1不等于string2,则为真
if [ -n string ] 如果string 为空,则为真
if [ $sting ] 如果string 非空,返回0 (和-n类似)
if [ ! 表达式 ]
if [ ! -d num
if [ 表达式1 –a 表达式2 ]
if [ 表达式1 –o 表达式2 ]
题主你好,
我这边把你的代码敲了一遍, 没有出现你说的情况.
测试所用代码:
测试结果:
-----
另外, 昨天我和你说的那样改,也是没有问题的,代码及测试截图如下:
-----
-----扩展阅读-----
写在最后: 题主把你那边所用的系统以及代码运行截图发过来,我看一下.
另外关于shell语法这东西, 熟悉了也就好了,你之所以会生气是因为刚接触shell,怎么调都不和你心意,后期基本的语法都玩熟了,也就没这种想法了。 c语言其实也一样,如果没人告诉你语法,而是你自己去猜测,去试,碰一鼻子灰的时候也是现在写shell时的心态.
另外当你熟悉了一门语言后,再去接触其它语言,尤其是语法差异较大的语言,就会觉得很别扭,都是先入为主的思想弄的,反过来想,如果你一开始接触的是shell,可能现在就会觉得c很别扭。你现在可能觉得不是这样的,那是因为你现在会c语言.
所以我想说的是不管是啥语言,不管设计样,既然要用它,就静下心来,盘它就对了:)
=====
希望可以帮到题主, 欢迎追问.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)