The - option to mark a here document limit string (<<-LimitString) will suppress leading tabs (but not spaces) in the output.
"here" 메서드를 사용하여 명령을 처리할 때 누군가가 선행 탭을 제거하려는 이유가 무엇인지 궁금합니다. 출력의 가독성에 관한 것입니까, 아니면 출력을 다른 것에 전달하려는 경우 출력을 정리하는 것에 관한 것입니까?
답변1
소스 코드 가독성에 관한 것입니다. 를 사용하면 <<-
다음과 같이 작성할 수 있습니다.
foo() {
cat <<-EOF
hello
EOF
echo do something else
}
바꾸다
foo() {
cat <<-EOF
hello
EOF
echo do something else
}
더 논리적인 들여쓰기를 제공합니다.
(SE는 게시물의 렌더링된 보기에서 탭을 공백으로 표시하므로 4개의 공백 블록에 탭이 있다고 상상해야 합니다. 또는 복사하여 붙여넣습니다.소스 코드에서, 원하는 경우 콘텐츠에 대한 혼란을 줄여야 합니다. )
내 생각에 "제한 문자열"이라는 문구는 여기 있는 문서의 닫는 구분 기호를 가리키는 것 같은데, 이는 항상 가지고 있는 것입니다. 추가로 변경된 사항은 탭 처리입니다 -
. 또한 <<<
here 문서가 아닌 비표준 here 문자열입니다.
.