두 번째 echo 문이 정확히 무엇을 하는지 이해하려고 노력하고 있습니다(기존 스크립트입니다).
echo "Triggering report.. "
curl -s -X POST "http://aaa.bbb"
echo -e \ '\
'
-e
백슬래시를 이스케이프 처리할 수 있다는 내용을 읽었습니다 . 그런데 왜 외부에 백슬래시가 있는지 모르겠고, 따옴표 안에 \n 대신 백슬래시만 있는 이유는 잘 모르겠습니다.
답변1
두 번째 명령은 echo
다음과 같은 이식성 있는 명령과 동일합니다.
printf ' \\\n\n'
그러면 공백, 백슬래시 및 두 개의 줄 바꿈이 출력됩니다.
비교를 위해 이 echo
명령은 이스케이프된 공백뿐만 아니라 리터럴 백슬래시 및 리터럴 개행 문자를 출력하여 이러한 문자를 출력합니다. 기본적으로 두 번째 개행 문자가 출력에 추가됩니다 echo
. 초기 공백은 따옴표 붙은 문자열의 일부가 아니기 때문에 이스케이프해야 하며(그렇지 않으면 쉘이 명령을 단어로 분할하여 제거됨) 백슬래시는 작은 따옴표로 묶인 문자열에 있어야 합니다. 그렇지 않으면 이스케이프됩니다. 다음 문자를 정의합니다.
-e
명령에 사용된 옵션은 여기서 아무 작업도 수행하지 않으며 제거할 수 있습니다.
echo
(에서 ) bash
에 대한 등가 공식 :
echo -e ' \\\n'
echo ' \
'
echo -n -e ' \\\n\n'
echo -n ' \
'
또한보십시오: