2010-04-21 40 views
3

我試圖做一個bash腳本如下佈局:

com=`ssh host "ls -lh"` 

echo $com 

它的工作原理,但回聲將打破輸出(而不是得到的所有線一列,我把它們連在一起)。

如果我這樣做:ssh host ls -lh在CLI中它會給我正確的輸出和佈局。

如何在回顯變量時保留佈局?

回答

2

您需要:

echo "$com" 

的報價使殼不破的價值成「字」,但把它作爲一個參數來echo。大約$ COM

+0

哦,拜託,我期待更多的東西 「難」。 但是,它的工作。 謝謝! – w00t 2010-04-21 15:59:39

1

把雙引號:

com=`ssh host "ls -lh"` 
printf "%s" $com | tr -dc '\n' | wc -c # count newlines 
printf "%s" "$com" | tr -dc '\n' | wc -c 
echo "$com" 
+0

這些printf命令很好的解釋。 – w00t 2010-04-21 16:05:51