wget을 통해 Flareget 다운로드 관리자를 다운로드하려고 하는데 오류가 발생합니다.
wget http://www.flareget.com/files/flareget/debs/amd64/flareget_2.3-24_amd64(stable)_deb.tar.gz
bash: syntax error near unexpected token `('
왜 그 오류가 발생하며 이에 대한 해결책은 무엇입니까?
답변1
이 경우(그리고 일반적으로) URL 주위에 작은따옴표 '
나 큰따옴표를 사용해야 합니다 ."
wget 'http://www.flareget.com/files/flareget/debs/amd64/flareget_2.3-24_amd64(stable)_deb.tar.gz'
이제부터는 명령에서 괄호가 포함된 문자열을 인수로 사용할 때 일반적으로 이 방법을 사용해야 합니다. 그 이유는 괄호가 쉘에 의한 그룹화에 사용되어 어떠한 방식으로도 명령에 전달되지 않기 때문입니다. 따라서 bash 쉘에서는 구문 오류가 발생합니다.
$ echo some (parentheses)
bash: syntax error near unexpected token `('
$ echo 'some (parentheses)'
some (parentheses)
답변2
괄호 때문이에요. 다음과 같이 이스케이프 처리해야 합니다.
wget http://www.flareget.com/files/flareget/debs/amd64/flareget_2.3-24_amd64\(stable\)_deb.tar.gz
이제 작동할 것입니다.
답변3
내 것은 이스케이프되지 않은 대괄호와 아무 관련이 없으며 모든 것은 함수와 동일한 이름으로 이미 정의된 별칭과 관련이 있습니다.
하나의 파일에 있는 별칭:
alias foo="echo do something"
다른 기능:
foo() {
# Do something else
}
이 두 파일 모두 my 에서 가져온 것이므로 ~/.bashrc
도움이 되지 않는 오류 메시지가 표시됩니다.
syntax error near unexpected token (