명령 출력 시 개행 인쇄

명령 출력 시 개행 인쇄

변수에 대한 명령 결과를 얻은 경우 이 출력을 새 줄로 인쇄하려면 어떻게 해야 합니까? 어리석은 예:

XX=$(ls -l); echo $XX

위 문장을 실행하면 ls -l터미널에서 실행할 때 표시되는 형식화된 반환 대신 읽을 수 없는 결과 줄이 표시됩니다. 서식 지정 명령의 결과를 얻거나 해당 결과를 개행 문자로 표시할 수 있는 방법이 있습니까?

답변1

쉘이 실행되지 않게 하려면 큰따옴표가 필요합니다.필드 분할:

XX="$(ls -l)"; echo "$XX"

echo하지만 내용을 모르는 변수와 함께 사용하는 것은 좋지 않습니다 printf.이 답변) 대신에:

XX="$(ls -l)"; printf '%s\n' "$XX"

관련 정보