2010-04-21 3 views
3

Я пытаюсь сделать следующее в Баш скрипт:

com=`ssh host "ls -lh"` 

echo $com 

Он работает, но эхо сломается выход (вместо того, чтобы все строки в столбец, я получаю их все подряд).

Если у меня есть: ssh host ls -lh в CLI, это даст мне правильный выход и расположение.

Как сохранить макет при повторении переменной?

ответ

2

Понадобится:

echo "$com" 

Котировки делают оболочки не ломаются значения вверх в «слова», но передать его в качестве единственного аргумента echo.

+0

О Да ладно, я ожидал чего-то более "трудный". Но, тем не менее, это сработало. Спасибо! – w00t

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

 Смежные вопросы

  • Нет связанных вопросов^_^