따옴표 안의 와일드카드 문자

따옴표 안의 와일드카드 문자

이것은 간단한 일이지만 내 기억에 따르면 쉘 스크립팅을 할 때 큰따옴표를 사용하면 와일드카드와 변수를 확장할 수 있습니다.

하지만 아래 코드에서는:

#!/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

관련 정보