developer tip

Linux 쉘 스크립트에 새 줄을 삽입하는 방법은 무엇입니까?

optionbox 2020. 8. 20. 08:12
반응형

Linux 쉘 스크립트에 새 줄을 삽입하는 방법은 무엇입니까? [복제]


이 질문에 이미 답변이 있습니다.

여러 echo 문 사이에 새 줄을 삽입하고 싶습니다. 시도 echo "hello\n"했지만 작동하지 않습니다. 인쇄 중 \n입니다. 다음과 같이 원하는 출력을 원합니다.

Create the snapshots

Snapshot created

echo사이에 새 줄을 삽입하는 가장 간단한 방법 echo인수없이 삽입하는 것 입니다. 예를 들면 다음과 같습니다.

echo Create the snapshots
echo
echo Snapshot created

즉, echo인수가 없으면 빈 줄이 인쇄됩니다.

플래그 및 삽입 된 개행 문자가 있는 단일 echo을 사용하는 또 다른 대안 :-e\n

echo -e "Create the snapshots\n\nSnapshot created"

그러나 -e플래그가 모든 시스템에서 일관되게 작동하지 않기 때문에 이식성이 없습니다 . 정말로 이것을하고 싶다면 더 나은 방법은 다음을 사용하는 것입니다 printf.

printf "Create the snapshots\n\nSnapshot created\n"

이것은 POSIX와 호환되지는 않지만 많은 시스템에서 더 안정적으로 작동합니다. 줄 바꿈을 자동으로 추가하지 않으므로 \n끝에 수동으로 추가해야합니다 .printfecho


이 echo 문 사용

 echo -e "Hai\nHello\nTesting\n"

출력은

Hai
Hello
Testing

echo $'Create the snapshots\nSnapshot created\n'

다음 과 같이 printf (1) 명령을 사용할 수 있습니다.

printf "Hello times %d\nHere\n" $[2+3] 

이   printf명령은 인수를받을 수 있으며 표준 C printf (3) 함수에 대한 것과 유사한 (정확히 동일하지는 않음) 형식 제어 문자열이 필요 합니다.

참고 URL : https://stackoverflow.com/questions/20536112/how-to-insert-a-new-line-in-linux-shell-script

반응형