2016-05-06 8 views
-1

私はその出力を隠したいと思うこのコード行を持っています。catコマンドの出力を非表示にする

Vrs=$(cat $(echo $line | awk -F"-" '{print "/var/AS-"$2"-"toupper($3)"-"$4}') | grep "YES" | cut -d":" -f5) 

私は、行の末尾に&> /dev/nullを含めることを試みたが、それは動作しません。 誰でもこれを行う方法を知っていますか?

+1

'$ line'の値は何ですか?' Vrs'には何を保存しますか? – anubhava

+1

出力とは何ですか? catは存在しないファイルを読み込もうとしているのでエラーが出ると思いますか? – 123

+0

はい、エラーはファイルではありません出口 –

答えて

0

あなたは、これは同じことを行い

Vrs=$(echo "$line" | awk -F"-" '{print "/var/AS-"$2"-"toupper($3)"-"$4}' | grep "YES" | cut -d":" -f5) 

に文を言い換えることができます。コマンドが成功すると、結果はVrsに格納されます。 出力なしstdoutに表示されます。あなたがエラーを期待する場合は、あなたが行うことができます:

Vrs=$(echo "$line" | awk -F"-" '{print "/var/AS-"$2"-"toupper($3)"-"$4}' | grep "YES" | cut -d":" -f5 2>/dev/null) 

これは、エラーを抑制し、あなたを与えるだろう、空$Vrs

注:私は二重のグロブ防ぐために$lineを引用している

と単語の分割。

+0

この行は期待どおりに動作しています。私はこのエラーを期待していますが、私はそれを表示したくありません。私は内側と外側の$()の中に2>/dev/nullを入れようとしましたが、それは仕事をしません –

+0

私のコードを変更したくない、それはすでに働いています..私は猫を削​​除しようとしましたが、その通り –

+0

ありがとう、私はあなたの答えを受け入れる必要があります、それは本当に出力を隠す。しかし、私は次のコードで他の問題を引き起こすので、私はそれを使うことはできません。 –

1

私はあなたが達成しようとしていることを正確にはわかりませんが、あなたのcatコールは私に冗長に見えます。

Vrs=$(echo "$line" | awk -F"-" '{print "/var/AS-"$2"-"toupper($3)"-"$4}' | grep "YES" | cut -d":" -f5) 
+0

申し訳ありません!それはopが 'awk'を正しく使っていたようです。それは私の間違いでした。あなたは答えを編集することを検討するかもしれません。 '$ line'も二重引用符で囲む必要があります。 – sjsam

関連する問題