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?


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)

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.