web-dev-qa-db-fra.com

bash: erreur de syntaxe près d'un jeton inattendu `('

J'essaie de télécharger le gestionnaire de téléchargement flareget via wget I get 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 `('

Pourquoi cette erreur est-elle imminente et quelle est la solution?

16
Registered User

Vous devez utiliser des guillemets simples ' ou des guillemets " autour de l'URL dans ce cas (et en général):

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

A partir de maintenant, vous devriez utiliser cette méthode en général lorsque vous utilisez une chaîne contenant des parenthèses en tant qu'argument dans une commande. Cela est dû au fait que les Shell utilisent des parenthèses pour les regrouper, de sorte qu’elles ne sont en aucun cas communiquées à une commande. Ainsi, le shell bash vous donnera une erreur de syntaxe:

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

C'est à cause des crochets. Vous devez leur échapper comme ceci:

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

Maintenant ça devrait marcher.

5
chaos