我试图做一个bash脚本如下布局:
com=`ssh host "ls -lh"`
echo $com
它的工作原理,但回声将打破输出(而不是得到的所有线一列,我把它们连在一起)。
如果我这样做:ssh host ls -lh
在CLI中它会给我正确的输出和布局。
如何在回显变量时保留布局?
我试图做一个bash脚本如下布局:
com=`ssh host "ls -lh"`
echo $com
它的工作原理,但回声将打破输出(而不是得到的所有线一列,我把它们连在一起)。
如果我这样做:ssh host ls -lh
在CLI中它会给我正确的输出和布局。
如何在回显变量时保留布局?
您需要:
echo "$com"
的报价使壳不破的价值成“字”,但把它作为一个参数来echo
。大约$ COM
把双引号:
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"
这些printf命令很好的解释。 – w00t 2010-04-21 16:05:51
哦,拜托,我期待更多的东西 “难”。 但是,它的工作。 谢谢! – w00t 2010-04-21 15:59:39