Вопрос

Я пытаюсь сделать следующее в скрипте 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"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top