You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Bash变量无法展开问题:Git-Bash中Wget Cookie登录脚本失效

解决Wget脚本中Cookie变量无法正常展开的问题

我来帮你搞定这个脚本里的Cookie参数问题!你遇到的核心问题是bash变量展开时的参数拆分——当你直接用wget --header $COOKIES时,bash会把Cookie字符串里的空格、分号当作参数分隔符,把原本完整的Header拆成多个零散的参数传给wget,导致Header格式错误,自然登录失败。

解决方案:用双引号包裹变量,保留完整字符串

只需要在调用wget时,给变量加上双引号,就能让bash把整个Cookie字符串当作一个完整的参数传递给--header选项。下面是完整的Git-Bash兼容脚本示例:

#!/bin/bash

# 正确定义Cookie变量,注意外层的双引号(如果Cookie里有$等特殊字符,改用单引号)
COOKIES="cookie: _ga=GA1.2.3865356.1523153047; your_other_cookie_key=your_cookie_value"

# 关键:用双引号包裹$COOKIES,避免参数被拆分
wget --header "$COOKIES" www.mysite.com

额外提示:处理特殊字符

如果你的Cookie值里包含$!这类bash会解析的特殊字符,建议用单引号定义变量,防止bash误展开:

# 比如Cookie里有$符号时,用单引号包裹
COOKIES='cookie: _ga=GA1.2.3865356.1523153047; session=$abc123xyz'

这样修改后,脚本里的Cookie就能和你在命令行直接执行时一样正常工作了。

内容的提问来源于stack exchange,提问作者user1592380

火山引擎 最新活动