1

我只是 Linux Shell 脚本的新手。我需要知道的是,通常在命令行中,我们只需使用:

# ls /var/log
audit            ConsoleKit     cups        maillog           messages           ntpstats  secure-20130616   spooler-20130623  vsftpd.log-20130616
boot.log         cron           dmesg       maillog-20130616  messages-20130616  prelink   secure-20130623   spooler-20130701  vsftpd.log-20130623
... . . . ..

然后

# ls /var/aaaaaaaaaaaaaaa
ls: cannot access /var/aaaaaaaaaaaaaaa: No such file or directory

所以使用 Shell 脚本:

  • 我怎样才能运行命令:# ls /var/aaaaaaaaa
  • 然后检测是否有输出字符串ls: cannot access

注意:您可能会问我是否只想检测失败。或输出字符串。我很想知道这两种方式。谢谢你。

4

1 回答 1

4

要检查目录:

if [ ! -d '/var/aaaaaaa' ]; then
   echo 'no dir!'
fi

对于文件:

if [ ! -f '/var/aaaaaaa' ]; then
   echo 'no file!'
fi

检查输出:

if ls '/var/aaaaaaa' 2>&1 | grep 'No such'; then  
   echo 'no such'; 
fi

检查 ls 何时失败:

if ! ls '/var/aaaaaaa' &> /dev/null; then 
  echo 'failed'
fi
于 2013-07-11T04:38:56.680 回答