shell脚本判断参数是否为空(shell脚本if判断参数不为空)
取反 即为空# $1 $2 表示传递的第一个第二个参数if ! n quot$1quot then echo Please Enter parm1 and parm2 exitfiif ! n quot$2quot then echo Please Enter parm2 exitfiecho $1。
z string string长度为零,则为真 n string string长度非零,则为真 如判断命令行第一个参数即 z $1 n $1 希望DZ动力可以帮到您。
if z quot$1quot then echo quot1st argument is empty!quotfi $1就表示脚本的第一个输入参数。
value=$value=0 if $value !=0 then echo quot不为空quotelse echo quot为空quotfi。
在Linux中写脚本的时候,总免不了需要判断文件是否存在文件内容是否为空等存在,而这些操作都可以用 test #160指令来实现,通过 man test 指令可以查看关于test指令的手册,手册中有如下说明在shell中通过test指令测试。
可能是把结束符也计算在内了 判断字符串为空的方法有三种if quot$strquot=quotquot if xquot$strquot=x if z quot$strquot n 为非空注意都要代双引号,否则有些命令会报错,养成好习惯吧。
在Shell终端中逻辑“与”的运算符号是 ,它表示当前面的命令执行成功后才执行后面的命令 等号两边必须要有空格,才能进行逻辑等于 它表示把条件测试中的判断结果取相反值 整数比较运算符仅对数字操作,且不能使用等号。
或者 if e $filename 空格很关键,注意哦判断文件的参数如下,本人自己整理的e 文件存在 f file 是一个 regular 文件不是目录或者设备文件 s 文件长度不为 0 d 文件是个目录 b 文件。
n $A 改为 n quot$Aquot n是对字符串是否为空进行判断,后面必须是字符串形式,请加双引号,否则可能出错。
在lunix中写脚本时,总免不了判断文件是否存在,文件内容是否为空的等操作而这些操作都可以用test指令来实现,可通过man test进行查看相关指令f判断是不是文件 d判断是不是目录e判断文件目录是否存在s判。
then echo quot目录为空quotesle read p quot目录非空,是否清空目录,清空请按y,不清空按nquot b if quot$bquot==quotyquot then rm rf $a\ fi fi else echo quot目录不存在quotfi done 没测试 可能有点小错误 大概。
FILES=`ls FILEPATH`cd FILEPATH for file in FILES do !s file echo quot$file is emptyquotdone 在测试编写过程序中,maxnu朋友的for folder in pathtodirectory 的写法有问题 folder不会展开 folder 值为。
directoy=find directoy type d xargs du sh grep ^0 awk #39print 2#39先在指定目录下查找 目录文件,然后用 du sh 计算目录大小,找出大小为0的目录,然后打印出来即可 若是不希望循环查找下去。
执行“nano testsh”创建一个新的shell脚本脚本testsh的内容如下!binsh name=$1 echo quotthe $name are great man!quot给新创建的testsh的脚本赋可执行权限,命令为“chmod 755 testsh”执行#39test。
如图,shell脚本中参数含有空格或其他特殊字符,需要将参数使用单引号或双引号括起来 如果是R脚本,则可以将参数保存到文件中,通过读取文件获取带有特殊字符的参数。