2017-02-06 2 views

답변

0

\은 이스케이프 문자입니다. 그래서 예는 다음과 같습니다

~ » echo hey\$ya 
hey$ya 
~ » 
1

이유 만 seing있다 "안녕"에코 때문에 $의, 쉘이 ya라는 변수를 확장하려고한다는 것입니다. 그러한 변수가 없으므로 빈 문자열로 확장됩니다 (기본적으로 사라집니다). 또한 문자 탈출 할 수

echo 'hey$ya' 

:

당신은 작은 따옴표를 사용할 수 있습니다, 그들은 변수 확장 방지

echo hey\$ya 

문자열은 큰 따옴표로 묶을 수 있습니다 (예 : echo "hey$ya")을하지만, 이것들은 확장을 막지 못합니다. 실행중인 명령에 대해 별도의 인수로 단어 분리를 구분하는 대신 전체 표현식을 단일 문자열로 유지하는 것뿐입니다. 귀하의 경우 큰 따옴표를 사용하면 작동하지 않습니다.

+0

작은 따옴표를 사용하는 것이 가장 좋은 방법이지만 'echo "hey $"ya'를 할 수도 있습니다. – codeforester

+0

나는 그것을하기 위해 sed를 사용하고있다. 콘솔에서 ib 명령을 실행하면 작동하지만 스크립트에 추가 할 때 오류가 발생합니다. 왜 이런 일이 일어날 지 아십니까? : – Lost

+0

@Lost 당신이 "할 때 sed를 사용하고 있습니다"라고 할 때 sed를 사용하여 무엇을 설명 할 수 있습니까? – Fred

관련 문제