현재 디렉터리에는 file1과 file2가 포함되어 있습니다. 이 출력을 어떻게 해석합니까?
[root@server test]# command='*';
[root@server test]# echo $command
file1 file2
*가 확장되는 이유는 무엇입니까? 인용된 내용이 아니길 바랍니다.
답변1
command='*'
$command
값을 리터럴로 설정하면 예상한 대로 정확하게 작동합니다 *
. 그러나 을 실행하면 echo $command
의 값이 로 확장 되어 명령이 $command
으로 확장됩니다 . 그러면 와일드카드가 평소와 같이 확장됩니다. 이를 방지하려면 다음 항목에 제공한 매개변수를 인용하세요 .*
echo *
echo
$ v='*'
$ echo "$v"
*