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

Bash脚本正则提取URL域名:如何将结果存入变量?

从URL提取域名并存入变量的解决方案

你的脚本中无法将提取结果存入DOMAIN变量的原因是赋值方式错误,Bash中要捕获命令的输出到变量,必须使用命令替换语法$(...)(或反引号,推荐前者)。

修正后的脚本

#!/bin/bash

REGEX='(www\.)?\w*\.\w*'

# 使用命令替换捕获grep的输出到变量
DOMAIN=$(echo "$1" | grep -P -o "$REGEX")

echo "$DOMAIN"

说明

  • 执行./your_script.sh http://example.com/时,DOMAIN变量会正确存储example.com
  • 后续要将该变量传入其他脚本,直接用./other_script.sh "$DOMAIN"即可(注意加双引号避免空格等特殊字符问题)

可选优化(适配复杂URL)

如果需要处理带路径、查询参数的URL(如https://www.example.co.uk/path?query=1),可以调整正则或结合awk分割来精准提取:

DOMAIN=$(echo "$1" | awk -F/ '{print $3}' | grep -P -o '(www\.)?\w+\.\w+(\.\w+)?')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:04:55