ls -l $filename|awk '{print $5}'|read size 没有读到的情况下,这个size为空,我想判断这个size字符串是否为空,应该怎么判断?
我的思路是这样的 1 先判断这个文件可以执行 在1 的基础上判断这个文件的file 为 文本文件 不知道思路是否正确 我用 #!/bin/sh for AA in `find /tmp -name "*"` do echo '$AA'=$AA if [ -x $AA ] && [ file $AA|grep "ASCII" >/dev/zero 2>/dev/zero ] then echo -n "the file is shell" else echo -n "the file isn't shell" fi done 但是 会报错 不知道为什么
譬如有个变量NAME,一般用sed的结果赋值:NAME=`sed -n -e ..........................` 然后判断NAME是否为空,以前我经常直接用[ $NAME ]来判断, 可是最近发现似乎有点问题: [ $NAME ] && echo "NOT NULL" 有时候明明NAME得到正确的值,却没有打印信息; set -x,正确的时候: +NAME=LEE +[ LEE ] +echo "NOT NULL" +NOT NULL 有时候出错打印信息: +NAME=LEE +[ LEE ] + 判断之后,就不执行echo了,直接一个空白…… 问下...