bash: 예상치 못한 토큰 `(' 근처에서 구문 오류가 발생했습니다.

bash: 예상치 못한 토큰 `(' 근처에서 구문 오류가 발생했습니다.

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 (

관련 정보