이것은 간단한 일이지만 내 기억에 따르면 쉘 스크립팅을 할 때 큰따옴표를 사용하면 와일드카드와 변수를 확장할 수 있습니다.
하지만 아래 코드에서는:
#!/bin/sh
echo *.sh
echo "*.sh"
echo '*.sh'
echo $LANG
echo "$LANG"
echo '$LANG'
나는 다음과 같은 결과를 얻습니다.
bob.sh redeployJboss.sh
*.sh
*.sh
en_US.utf8
en_US.utf8
$LANG
그러면 작은따옴표는 와일드카드와 변수 확장을 방지하지만 큰따옴표는 변수 확장만 허용하고 와일드카드는 허용하지 않습니까?
사용할 수 있는 인용 패턴이 있나요?
답변1
당신 말이 맞습니다. 와일드카드는 작은따옴표나 큰따옴표에서 작동하지 않습니다. 그러나 큰따옴표로 묶인 문자열을 사용하여 와일드카드를 삽입할 수 있습니다.
$ echo "안녕하세요 세상" *.sh "세상 안녕" Hello World [파일 목록] Goodbye World