2011-11-16 2 views
7

出力を生成するファイルがない場合は、提供されたファイルまたは標準入力を解析する小さなスクリプトをbashで作成しました。解析された出力をstdoutにリダイレクトする最良の方法は何ですか(スクリプトの最後には結果が変数に格納されます)。 catまたはechoを使用するか、別の方法がありますか?シェルスクリプト:cat vs echo for output

答えて

9

printfコマンドを使用します。たとえば、echoには、改行を印刷しないように指示するオプションがあります(-n)。 $var-nであることを起こる場合は、

echo "$var" 

は何も印刷されません。 echo(さまざまなシェルに組み込まれているか、/bin/echo)の異なるバージョンがあり、微妙に異なる動作があります。

+1

+1。このアドバイスはより頻繁に見られるはずです –

3

echoは良い方法です。 catを動作させたい場合は、いくつかのフープにジャンプする必要があります。

​​

echoは、単純なケースのためokですが、それは特定の引数に奇妙な振る舞いをすることができます

3

echo。変数に解析されたデータがあるので、echo "$var"だけで問題ありません。 catはファイルの内容を表示するために使用されますが、これはあなたが望むものではありません。

+0

これは重要なポイントです – niagr

関連する問題