我正在尝试在bash脚本中执行以下操作:

com=`ssh host "ls -lh"`

echo $com

它有效,但是Echo会破坏输出(而不是将所有线路放在列中,而是将它们全部列入)。

如果我做: 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"
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top