개행을 이스케이프하면 코드가 제대로 작동하지 않게 됩니다. 왜?

개행을 이스케이프하면 코드가 제대로 작동하지 않게 됩니다. 왜?

Google의 마크다운 스타일 가이드:

대부분의 명령줄 조각은 터미널에 직접 복사하여 붙여넣기 위한 것이므로 줄 바꿈을 이스케이프 처리하는 것이 가장 좋습니다. 줄 끝에 단일 백슬래시를 사용합니다.

bazel run :target -- --flag --foo=longlonglonglonglongvalue \
--bar=anotherlonglonglonglonglonglonglonglonglonglongvalue

다음 코드 조각을 터미널에 복사하여 붙여넣으면 줄바꿈을 이스케이프 처리하면 작동 오류가 발생하는 이유를 누군가 설명할 수 있습니까? (저는 Mac에서 zsh를 사용하고 있는데 순수 Bash 및/또는 다른 터미널에서도 동일한 일이 발생하는지 확실하지 않습니다. 질문. ?):

이 코드 조각을 복사하여 터미널에 붙여 넣으면 정상적으로 작동합니다.

for (( counter=10; counter>0; counter-- ))
do
echo -n "$counter "
done
printf "\n"

하지만 이것을 복사해서 붙여넣으면 오류가 발생합니다.

for (( counter=10; counter>0; counter-- )) \
do \
echo -n "$counter " \
done \
printf "\n"

ベストアンサー1

개행 문자( NL, ^J)는 줄의 끝을 표시하며 일반적으로 명령을 끝냅니다.

이스케이프된 NL 문자는 공백으로 처리되며 명령이나 줄을 끝내지 않습니다.

foo
bar

두 가지 명령입니다.

foo \
bar

명령이다,

foo bar

おすすめ記事