리눅스 echo 명령어 질문 하겠습니다..!

익명 사용자의 이미지

제가 가령

abcdfg"abc"hij'abc'klmnop
$HOSTNAME

이런 문구로 /root/gogo.sh 에 넣고 싶은데

echo "abcdfg"abc"hijk'abc'lmnop
$HOSTNAME" >> /root/gogo.sh

이런식으로 밀어넣으면 "abc" 부분에서 오류가 생기던가 $HOSTNAME이 호스트네임으로 치환되서 파일에 들어갑니다...

echo '' 를 쓰면 'abc' 부분에서 오류가 생기고...

echo ''' '''를 쓰면 역시 'abc'부분에서 오류가 생기는 것 같습니다...

"", ''나 $HOSTNAME 등을 치환없이 그대로 파일안에 넣고 싶다면 어떻게 하면 좋을까요?

출력 명령이 꼭 echo가 아니어도 상관 없습니다.

익명 사용자의 이미지


echo 'abcdfg"abc"hij'"'abc'""'"klmnop

"" 와 '' 의 특수문자 처리방법이 다릅니다.
위에처럼 여러가지 사용방법이 있겠지만 변칙사용으로 하시면 될 듯 합니다.

김정균의 이미지

https://mug896.github.io/bash-shell/quotes.html 참조
이 문서 전체를 잘 읽으시면 bash 관련해서는 더 이상 질문 하실 일이 없게 될 겁니다. 모르겠거나 기억이 안 나면 이 문서를 찾게 될 테니까요.

글쓴이의 이미지

감사합니다~ 잘 참고하겠습니다.