무엇이 잘못되었는지 알 수 없습니다: $ echo 'date`'

무엇이 잘못되었는지 알 수 없습니다: $ echo 'date`'

다음 명령을 실행하면 어떻게 되나요? 이유와 해결 방법을 설명하세요.

$ echo ‘`date`’

답변1

달리고 있는 것 같아

echo '`date`'

(곧은 작은따옴표에 유의하세요) date출력이 나올 것으로 예상됩니다. 쉘은 작은따옴표 안에 문자열을 확장하지 않습니다. 대신 큰따옴표를 사용해야 합니다.

echo "`date`"

아니면 그냥 버리세요

echo `date`

이 모든 것은 다음과 같습니다

date

그러나 쉘 분할 및 와일드카드(지시한 대로)는 제외합니다.스티븐 차제라스), 공백은 기본적으로 축소됩니다.

답변2

게시된 대로, 바깥쪽 따옴표는 유니코드 U+2018 및 U+2019 문자입니다. 이는 일반적인 작은따옴표가 아니며 쉘에 특별한 의미가 없으며 단지 다음과 같이 표시됩니다.

$ echo ‘`date`’
‘Fri Apr 7 19:55:15 EEST 2017’
$ 

이 따옴표 안에는 쉘 명령 대체를 위한 백틱이 있습니다. 명령 date이 실행되고 캡처된 출력이 문자열 을 대체합니다 date.

관련 정보