bash: erro de sintaxe próximo ao token inesperado '('

10

Estou tentando baixar o flareget gerenciador de downloads via wget Eu recebo erro

wget  http://www.flareget.com/files/flareget/debs/amd64/flareget_2.3-24_amd64(stable)_deb.tar.gz
bash: syntax error near unexpected token '('

Por que esse erro está chegando e qual é a solução para isso?

    
por Registered User 08.11.2013 / 11:27

2 respostas

13

Você deve usar aspas simples ' ou aspas duplas " ao redor da URL neste caso (e em geral):

wget  'http://www.flareget.com/files/flareget/debs/amd64/flareget_2.3-24_amd64(stable)_deb.tar.gz'

A partir de agora, você deve usar esse método em geral quando usar uma string que contenha parênteses como argumento em um comando. Isso ocorre porque os parênteses são usados para agrupamento pelo shell, de forma que eles não sejam comunicados de forma alguma a um comando. Então, o bash shell lhe dará um erro de sintaxe:

$ echo some (parentheses)
bash: syntax error near unexpected token '('
$ echo 'some (parentheses)'
some (parentheses)
    
por Radu Rădeanu 08.11.2013 / 11:30
3

É por causa dos parênteses. Você precisa escapar deles assim:

wget  http://www.flareget.com/files/flareget/debs/amd64/flareget_2.3-24_amd64\(stable\)_deb.tar.gz

Agora deve funcionar.

    
por chaos 08.11.2013 / 11:29