2016-05-10 9 views
1

私はrubyコマンドを実行するためのbashスクリプトを書いていますが、いくつかの宝石が必要です。私は宝石がインストールされているかどうかをチェックし、そのようにそれをインストールしています:沈黙の宝石リストコンソールの出力

if ! gem list rest-client -iq 
then 
    echo "Missing rest-client gem, installing now..." 
    gem install rest-client 
fi 

これは、出力trueまたはfalseであるという事実を除いて、素晴らしい作品。ヘルプページを見ると、qオプションを追加することはこの出力を抑制するために推奨されていますが、私は間違っている可能性があります。

trueまたはfalseの出力を抑制し、それに対処するにはどうすればよいですか?

+1

いつものように、あなたは 'の/ dev/null'なのでそれをリダイレクトすることで標準出力を非表示にすることができます - > 'gem list rest-client -iq>/dev/null &&エコー" yes "||エコー "いいえ"。 – fedorqui

+0

あなたのコメントを回答として追加したい場合は、私はそれを受け入れることができます。 –

答えて

1

コメントで示されているようにそれが表示されないように、単に/dev/nullstdoutをリダイレクトするには:

if ! gem list rest-client -iq >/dev/null 
#        ^^^^^^^^^^ 
then 
    echo "Missing rest-client gem, installing now..." 
    gem install rest-client 
fi