You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Bash获取新Chrome会话的User Agent并存入变量?

在Bash中获取Google Chrome的User Agent字符串并存入变量

Google Chrome 并没有--user-agent命令行参数来直接输出当前会话的User Agent,所以你提供的伪代码无法直接工作。以下是几种可行的替代方案:

方法1:使用Chrome无头模式获取真实UA

通过Chrome的无头模式运行一个极简HTML页面,利用JavaScript读取并输出navigator.userAgent,再捕获输出结果:

USER_AGENT=$(google-chrome --headless --disable-gpu --dump-dom --no-sandbox 'data:text/html,<script>document.write(navigator.userAgent)</script>')
echo "$USER_AGENT"

参数说明:

  • --headless:以无头模式启动Chrome,无需显示图形界面
  • --disable-gpu:避免部分环境下的GPU渲染错误
  • --dump-dom:输出页面渲染后的DOM内容
  • --no-sandbox:部分Linux系统需要该参数绕过沙箱限制(如果运行报错可尝试添加)

如果你的系统安装的是Chromium而非Chrome,将命令中的google-chrome替换为chromium-browser即可。

方法2:从Chrome配置文件提取(仅适用于已启动过的会话)

Chrome会在用户配置目录中存储UA相关信息,可通过解析配置文件提取,但这种方法依赖Chrome版本和配置结构,准确性不如无头模式:

# Linux系统下Chrome默认配置路径
CHROME_CONFIG_DIR="$HOME/.config/google-chrome/Default"
# 用jq工具解析Preferences文件中的UA字段(需提前安装jq)
USER_AGENT=$(jq -r '.user_agent' "$CHROME_CONFIG_DIR/Preferences")
echo "$USER_AGENT"

注意:该方法仅能获取Chrome默认配置的UA,无法反映带自定义参数启动会话的UA。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:09:30