bash: error de sintaxis cerca del token inesperado `('

18

Estoy tratando de descargar flareget download manager a través de wget me sale un error

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 qué viene ese error y cuál es la solución para eso?

usuario registrado
fuente
Recibí el mismo error al intentar descomprimir un archivo que estaba protegido con contraseña. La contraseña tenía un paréntesis. Terminé teniendo que usar comillas dobles y simples para evitar el error. Ejemplo: mypass="'HWNevtQW9o2s)f'" unzip -P $mypass myfile
Jesse marca el

Respuestas:

22

Debe usar comillas simples 'o comillas dobles "alrededor de la URL en este caso (y en general):

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

A partir de ahora, debe usar este método en general cuando use una cadena que contenga paréntesis como argumento en un comando. Esto se debe a que el shell utiliza paréntesis para agruparlos de modo que no se comuniquen de ninguna manera a un comando. Entonces, el shell bash te dará un error de sintaxis:

$ echo some (parentheses)
bash: syntax error near unexpected token `('
$ echo 'some (parentheses)'
some (parentheses)
Radu Rădeanu
fuente
6

Es por los corchetes. Necesitas escapar de ellos así:

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

Ahora debería funcionar.

caos
fuente