2010-04-21 2 views
3

레이아웃 깨지 않고 $ 명령을 에코 않습니다어떻게 내가 떠들썩한 파티 스크립트에서 다음을 수행하려고 해요

com=`ssh host "ls -lh"` 

echo $com 

그것은 작동을하지만, 에코 대신에 모든 행을 얻는 (출력을 중단합니다 열, 나는 그들을 연속적으로 얻는다).

CLI에서 수행 할 경우 : ssh host ls -lh 올바른 출력과 레이아웃을 제공합니다.

변수를 반향 출력 할 때 어떻게 레이아웃을 유지할 수 있습니까?

답변

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

관련 문제