2014-06-15 2 views

답변

19
echo a(echo b)c 

, 당신이 그들을 종료해야합니다

echo "a"(echo b)"c" 

당신의 하위 명령은 줄 바꿈을 가질 수 있다면, 생선, 2.3로 저장하고 복원해야 $ IFS :

set -l IFS 
echo "a"(cat ~/file.txt)"c" 
set -e IFS 

결국이 경우를 string으로 처리 할 수 ​​있습니다.

+1

을 참조하십시오. 이렇게하면 모든 개행 문자가 삼켜지며 동등하지 않습니다. 최소 예제 :'echo -e "a \ nb"> x'가 주어지면 bash'echo "$ (cat x)"는 옳은 일을하는 반면, 물고기'echo (cat x)'는 개행 문자를 인용 부호없이 bash'echo $ (cat x)'와 동일 할 것입니다. – Debilski

+0

@ridiculous_fish bash의''$() "'결과를 재현하는 방법을 설명해 주시겠습니까? 물고기 2.3.0으로 테스트 한 결과, 아직 Debilski의 결과를 얻었습니다. 미리 감사드립니다. – berbt

+0

개행을 처리하는 방법을 설명하기 위해 편집하십시오. –