16

wgetでヘッダーを設定しようとしています。ターミナルで次のコマンドを実行すると動作しますwget -d --header="User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"' http://website.com -O index

しかし、変数に同じものを入れてbashスクリプトを実行しようとすると、機能しません。

私が試したこと

header='-d --header="User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"'
wget "$header" http://google.com -O index

エラー

wget: invalid option -- ' '
wget: invalid option -- '-'
wget: invalid option -- '-'
Usage: wget [OPTION]... [URL]...
4

5 に答える 5

1

コメント: 'bash 配列に関する nosid のトリックはうまくいきました。私の場合、関連するコードは次のとおりです。

WGET_OPTS="-r -N -nd -np -nH --timeout=120 --tries=3"
WGET_OPTS_ARRAY=(${WGET_OPTS// / })
wget "${WGET_OPTS_ARRAY[@]}" -A "$FILE_PAT" -P "$TO_DIR" "$FROM_URL"
于 2013-11-14T04:49:40.837 に答える