出力を「wget-log.1」にリダイレクト

出力を「wget-log.1」にリダイレクト

このコマンドを使用して、GitHubからLinuxバージョンのGdriveをダウンロードしようとしています。

wget https://docs.google.com/uc?id=0B3X9GlR6EmbnWksyTEtCM0VfaFE&export=download

この出力に付いています。

[1] 869 pi@raspberrypi:~ $ Redirecting output to ‘wget-log.2’

答え1

URLに&があります(URLには特別なものはありません)。これはbashシェルに予約されている文字です。現在のコマンドをバックグラウンドで取得します。 URLを「」に入れるか、前に次のように入力してください。 \脱出&

答え2

上記の「der benter」は問題を説明しています。良い説明です。

ただし、解決策を見つけるには、通常URLを常に一重引用符で囲む習慣を使用してください'。シンプルでシンプルで効果的です。 URLをコピーして貼り付けるときは、文字列全体がそのままwgetcurlまたは実行中の他のプログラム)に渡されることを確認する必要があります。単一引用符のみがこの操作を実行できます。

提案されているように二重引用符で囲むことは、シェルがまだそれを解釈し、可能な変数を置き換え、その他のシェル固有の特殊文字を処理するために理想的ではありません。バックスラッシュエスケープの使用は、次の&2つの理由で理想的ではありません。

  • 気づいていない場所に脱出するのを忘れることもあります。
  • 一部の特殊文字は特殊文字かどうかわからないため、エスケープできない場合があります。

一重引用符を使用しても、URLに一重引用符がないことを確認する必要がありますが、それがあなたが探している唯一のものです。 ;)

関連情報