apt install: 정규식과 var=regex의 차이점

apt install: 정규식과 var=regex의 차이점

현재 적절한 설치 스크립트에 문제가 있는데 그 이유를 이해할 수 없습니다.

차이점이 뭐야:

# works fine
apt install gstreamer1.0-plugins-{bad,base,good,ugly}

그리고

var="gstreamer1.0-plugins-{bad,base,good,ugly}"
apt install $var

[...]
E: Unable to locate package gstreamer1.0-plugins-{bad,base,good,ugly}
E: Couldn't find any package by glob 'gstreamer1.0-plugins-{bad,base,good,ugly}'
E: Regex compilation error - Invalid content of \{\}
E: Couldn't find any package by regex 'gstreamer1.0-plugins-{bad,base,good,ugly}'
E: Unable to locate package gstreamer1.0-{omx,alsa}
E: Couldn't find any package by glob 'gstreamer1.0-{omx,alsa}'
E: Regex compilation error - Invalid content of \{\}
E: Couldn't find any package by regex 'gstreamer1.0-{omx,alsa}'

친절한 안부

답변1

당신은버팀대 확장정규 표현식보다는 중괄호 확장은 따옴표 안에서 또는 변수를 할당/확장할 때 작동하지 않습니다.

첫 번째 명령이 수행하는 작업은 다음과 같습니다.

apt install gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly

두 번째 명령이 수행하는 작업은 다음과 같습니다.

apt install "gstreamer1.0-plugins-{bad,base,good,ugly}"

관련 정보