1

私は Linux Shell Scripting の初心者です。私が知る必要があるのは、通常はコマンド ラインで次のように使用することです。

# 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

したがって、シェル スクリプトでは次のようになります。

  • コマンドを実行するにはどうすればよいですか:# 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 に答える