web-dev-qa-db-ja.com

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 `('

なぜそのエラーが発生し、その解決策は何ですか?

18
Registered User

この場合(および一般的に)、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)
20
Radu Rădeanu

角かっこが原因です。次のようにエスケープする必要があります。

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

これで動作するはずです。

6
chaos