2010-04-21 83 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