나는 이 주제를 검색했고 모든 결과에 대해 이야기했습니다 <<EOF
. 하지만 사용된 스크립트는 보는데 <<-EOF
인터넷 검색으로는 어디에서도 찾을 수 없습니다. 그렇다면 <<-EOF
bash 스크립트 간의 차이점은 무엇입니까? <<EOF
감사합니다.
답변1
<<-EOF
구분된 문서의 선행 탭은 무시되지만 <<EOF
그렇지 않습니다. 그러므로:
cat <<EOF
Line 1
Line 2
EOF
생산할 것이다
Line 1
Line 2
하지만
cat <<-EOF
Line 1
Line 2
EOF
생산하다
Line 1
Line 2
답변2
를 사용하는 경우 <<-EOF
Bourne Shell 매뉴얼 페이지를 권장합니다.
단, <<에 하이픈(-)이 추가된 경우:
쉘 입력을 읽기 전에 단어에서 선행 탭 문자를 제거하십시오(단, 인수 및 명령 대체가 단어에서 수행된 후).
선행 탭 문자는 쉘 입력을 읽을 때와 각 행을 단어와 비교하기 전에 제거됩니다.
쉘 입력은 문자 그대로 결과 단어와 일치하는 첫 번째 줄 또는 EOF로 읽혀집니다.
이를 <<-
통해 여기에 있는 문서의 내용을 들여쓰기하여 가독성을 높일 수 있습니다.