Hello!World를 인쇄하는 방법 [중복]

Hello!World를 인쇄하는 방법 [중복]

더 광범위하게는 얼마나 에코입니까! Bash에서는 사이에 공백이 없습니다.

karthik@cosmic:~$ echo "Hello!World"
bash: !World: event not found
karthik@cosmic:~$ echo "Hello\!World"
Hello\!World
karthik@cosmic:~$ 

답변1

누군가 덕분에 해결책은 간단합니다.

큰따옴표를 제거하고 이스케이프 처리하세요 !.

echo Hello\!World

또는 bash 4.3 이상의 경우 큰따옴표를 사용하되 !닫는 따옴표를 따라야 합니다.

echo "Hello!""World"

~에서Bash 4.3의 릴리스 노트:

Lake 큰따옴표로 묶인 문자열에서 닫는 따옴표가 뒤에 오는 경우 기록 확장 문자(!)로 인해 기록 확장이 발생하지 않습니다.

모든 문자가 특별한 의미를 잃는 경우 작은따옴표를 사용하는 것이 좋습니다.

echo 'Hello!World'

또는 csh 스타일 기록 확장을 완전히 비활성화합니다.

histchars=

또는:

set +o histexpand

또는:

set +H

기록 확장은 bash가 스크립트가 아닌 대화형일 때만 기본적으로 활성화됩니다.


`...`더 이상 사용되지 않는 명령 대체 형식이 사용되지 않는 한 \작은따옴표 내에서도 내부적으로 특별한 의미를 유지합니다 .

관련 정보