ご希望のURLには大半のスペース、中括弧などが含まれているのでwget
同封します。""
通常はうまく機能しますが、次のURLを操作することはできません。
wget "http://xxxx/Sankarea - 6 - It`s Because I... Ran Into You (720p-100MB)[Commie][Daylighter].mkv"
それは出力する
-bash: command substitution: line 1: syntax error near unexpected token `('
-bash: command substitution: line 1: `s Because I... Ran Into You (720p-100MB)[Commie][Daylighter].mkv"
どういう意味ですか?この問題を解決する方法はありますか?
答え1
一重引用符を試してください。
wget 'http://xxxx/Sankarea - 6 - It`s Because I... Ran Into You (720p-100MB)[Commie][Daylighter].mkv'
URL自体に一重引用符がある場合は、URLを2つの文字列に分割し、バックスラッシュを使用して一重引用符を挿入するか、二重引用符を'...'\''....'
使用します'...'"'"'....'
。この文字列の間にスペースを入れないでください。
$ echo 'Haru'\''s Death'
Haru's Death
$ echo 'Haru'"'"'s Death'
Haru's Death
いいえ文字はバックスラッシュではなく一重引用符の間で解釈されます(そのようにすることはできません。これでヒントが提供されecho 'Haru\'s Death'
ます(通常)。PS2
>
答え2
完全性のために、「...」でバックスラッシュを使用して、シェルが続く文字を無効にすることができます。これはバックスラッシュ自体、\
二重引用符ドルバック"
ティック$
、および(シェルが履歴拡張をサポートして無効になっていない場合)、bangです!
。しかし、(同意します)ここでは、単一引用符のアプローチがより良いでしょう。