2011-11-16 91 views
7

我在bash中編寫了一個小腳本,用於解析提供的文件或標準輸入,如果沒有文件給出輸出。將解析後的輸出重定向到stdout的最佳方式是什麼(在腳本結尾將結果存儲在變量中)。我應該使用catecho,還是有另一種優選的方法?Shell腳本:cat vs echo輸出

回答

9

使用printf命令:

​​

echo是OK的簡單案件,但它可以表現爲奇怪的某些參數。例如,echo有一個-n選項,告訴它不要打印換行符。如果$var恰好是-n,然後

echo "$var" 

不會打印出任何東西。並且有許多不同版本的echo(或者內置於各種shell或/bin/echo),具有微妙的不同行爲。

+1

+1。這個建議應該更常見到 –

3

echo是一個很好的方法來做到這一點。如果你想cat的工作,你將不得不跳過幾個箍。

3

回聲。你有你的分析數據在一個變量,所以只需echo "$var"應該沒問題。貓用來打印文件的內容,這不是你想要的。

+0

這是一個重要的觀點 – niagr