인용된 경우에도 bash 와일드카드 확장

인용된 경우에도 bash 와일드카드 확장

현재 디렉터리에는 file1과 file2가 포함되어 있습니다. 이 출력을 어떻게 해석합니까?

[root@server test]# command='*';
[root@server test]# echo $command
file1 file2

*가 확장되는 이유는 무엇입니까? 인용된 내용이 아니길 바랍니다.

답변1

command='*'$command값을 리터럴로 설정하면 예상한 대로 정확하게 작동합니다 *. 그러나 을 실행하면 echo $command의 값이 로 확장 되어 명령이 $command으로 확장됩니다 . 그러면 와일드카드가 평소와 같이 확장됩니다. 이를 방지하려면 다음 항목에 제공한 매개변수를 인용하세요 .*echo *echo

$ v='*'
$ echo "$v"
*

관련 정보