ここからファイルをダウンロードする必要があります協会。ダウンロードしたファイルはzipファイルなので、現在のフォルダに解凍する必要があります。
通常、最初にダウンロードしてからunzipコマンドを実行します。
wget http://www.vim.org/scripts/download_script.php?src_id=11834 -O temp.zip
unzip temp.zip
temp.zip
ただし、この方法で2つのコマンドを実行し、次のコマンドを実行する前に最初のコマンドが完了するのを待ち、それを提供するファイル名を知る必要がありますunzip
。
wget
出力をにリダイレクトできますかunzip
?それはまるで
unzip < `wget http://www.vim.org/scripts/download_script.php?src_id=11834`
しかし、それはうまくいきませんでした。
bash: `wget http://www.vim.org/scripts/download_script.php?src_id=11834 -O temp.zip`: ambiguous redirect
また、wget
2回実行され、ファイルが2回ダウンロードされました。
ベストアンサー1
次の理由で、ファイルを一時ファイルとしてダウンロードする必要があります(圧縮解除マニュアルページの引用)。
funzip(アーカイブの最初のメンバーのみを抽出できます)を除いて、標準入力から読み取られたアーカイブはまだサポートされていません。
次のコマンドを一緒に結合するだけです。
wget "http://www.vim.org/scripts/download_script.php?src_id=11834" -O temp.zip
unzip temp.zip
rm temp.zip
ただし、より柔軟にするには、入力を保存するためにスクリプトに入れる必要があり、誤って上書きしないようにするには、mktemp
次のコマンドを使用して一時ファイルの安全なファイル名を作成できます。
#!/bin/bash
TMPFILE=`mktemp`
PWD=`pwd`
wget "$1" -O $TMPFILE
unzip -d $PWD $TMPFILE
rm $TMPFILE