Bash에서 큰 따옴표와 작은 따옴표로 백틱을 사용할 때의 차이점


12

다음 두 가지 실행 결과가 다른 이유는 무엇입니까? (최종 명령에서 변수에 큰 따옴표가 필요합니다)

$ sudo su -c "echo `cat /root/root_file`"
cat: /root/root_file: Permission denied
$ sudo su -c 'echo `cat /root/root_file`'
Yay, highly classified content!

답변:



6

첫 번째 예에서 백틱은 루트가 아닌 쉘로 평가됩니다. 함께 시도

sudo su -c "echo `whoami`"

작은 따옴표 '가 있는 두 번째 문자열에서 전체 문자열 echo `cat /root/root_file`이 루트 셸로 전달됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.