[bash] 백 슬래시로 쉘 명령을 시작하는 이유는 무엇입니까?

\curl -L https://get.rvm.io | bash -s stable

명령이 왜 시작 \됩니까?
내가 본 사이트입니다.



답변

alias curl='curl --some --default --options'

별칭이 curl있고 사용하지 않으려면 백 슬래시를 앞에두면 별칭이 비활성화되고 curl 바이너리가 직접 실행됩니다.

이것은 대화식 쉘에서만 적용됩니다. 별명은 스크립트에 적용되지 않으므로 불필요합니다.


답변

(Bourne / POSIX) 쉘 스펙 은 명령 단어의 문자가 인용 될 때 대화식 쉘에서 별명 대체 가 억제 된다고 말합니다 . 백 슬래시는이를 수행하는 한 가지 방법이지만 인용하는 다른 잘 알려진 방법 인 작은 따옴표와 큰 따옴표도 있습니다. 다음은 모두 별칭 대체를 억제합니다.

 \curl
 cur\l
 \c\u\r\l
 "c"url
 "curl"
 "c""u""r""l"
 'curl'
 'cu'"rl"

사용 \curl은 가장 일반적이고 읽기 쉬운 방법입니다. 이 기능은 표준화 된 기능이므로 모든 Bourne-heritage 쉘에서 작동 할 것으로 예상 할 수 있습니다.

\curlTeX 명령과 비슷해 보이지 않습니까? 🙂


답변