我试图在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
Run Code Online (Sandbox Code Playgroud)
错误
wget: invalid option -- ' '
wget: invalid option -- '-'
wget: invalid option -- '-'
Usage: wget [OPTION]... [URL]...
Run Code Online (Sandbox Code Playgroud)
nos*_*sid 16
使用变量时必须使用双引号.否则它将扩展为多个单词.另一方面,不需要引用变量值两次.以下应该有效:
header='--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://website.com -O index
Run Code Online (Sandbox Code Playgroud)
编辑:如果要为多个参数使用变量,请使用数组:
args=(-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 "${args[@]}" http://website.com -O index
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33351 次 |
| 最近记录: |