bash:予期しないトークン `( 'の近くの構文エラー


18

エラーを取得する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 `('

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


パスワードで保護されたファイルを解凍しようとしたときに、同じエラーを受け取りました。パスワードには括弧がありました。エラーを回避するために、二重引用符と単一引用符の両方を使用することになりました。例: mypass="'HWNevtQW9o2s)f'" unzip -P $mypass myfile
ジェシー

回答:


22

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

6

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.