自動化スクリプトを実行するときにbash出力を非表示にします。

自動化スクリプトを実行するときにbash出力を非表示にします。

私のbashファイルには、次の特定のタスクを実行するようになっているいくつかのスクリプトがあります。

#!bin/bash
yum -y update
service restart nginx
yum install atop
cat /var/log/somelog.log > /home/cron/php/script

続行しますが、問題は、各ジョブが実行されるたびに bash が出力を表示することです。たとえば、 service restart nginxいくつかのメッセージを出力します。このメッセージをすべて隠したいです。これを達成するために一般的に受け入れられる方法は何ですか?なぜなら、STDOUTにリダイレクトしようとしていますが、/dev/null実行する必要がある50を超える連続タスクがあることを考えると、これはあまりにも多くのタスクを実行する必要があるため、何らかの理由で/dev/nullこの方法がそれほど効率的ではないようです。

ベストアンサー1

すべての出力をブロックにリダイレクトします。

(
   yum -y update

   service restart nginx

   yum install atop

   cat /var/log/somelog.log > /home/cron/php/script

) > /dev/null 2>&1

おすすめ記事