开发者

How do I echo $command without breaking the layout

开发者 https://www.devze.com 2022-12-28 04:16 出处:网络
I\'m trying to do the following in a bash script: com=`ssh host \"ls -lh\"` echo $com It wor开发者_高级运维ks, but the echo will break the output (instead of getting all lines in a column, I get t

I'm trying to do the following in a bash script:

com=`ssh host "ls -lh"`

echo $com

It wor开发者_高级运维ks, but the echo will break the output (instead of getting all lines in a column, I get them all in a row).

If I do: ssh host ls -lh in the CLI it will give me the correct output and layout.

How can I preserve the layout when echoing a variable?


You need:

echo "$com"

The quotes make the shell not break the value up into "words", but pass it as a single argument to echo.


Put double quotes around $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"
0

精彩评论

暂无评论...
验证码 换一张
取 消