gpt4 book ai didi

linux - 在 bash 中设置 wget --header= 不起作用

转载 作者:IT王子 更新时间:2023-10-29 00:17:17 24 4
gpt4 key购买 nike

我试图在 wget 中设置 header 。当我在终端中运行以下命令时,它可以工作 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]...

最佳答案

使用变量时必须使用双引号。否则它会扩展成多个单词。另一方面,不需要两次引用变量值。以下应该有效:

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

编辑:如果您想为多个参数使用变量,请使用数组:

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

关于linux - 在 bash 中设置 wget --header= 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18063679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com