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

如何用Shell脚本提取URL的http/https协议?解析${A//:*}原理

Shell参数扩展与子串截取技巧解析

一、提取URL协议前缀(http/https)

我尝试了以下Shell脚本:

A=https://xyz.site
echo -e ${A//:*}

结果: https

原理说明

${A//:*} 是Bash的参数扩展语法,核心逻辑如下:

  • 语法格式为 ${变量//匹配模式/替换内容},此处替换内容留空,实际作用是删除所有匹配到的子串
  • 匹配模式 :* 中,: 是字面量匹配,* 是通配符,会匹配:之后的任意长度字符(包括空字符)
  • 整个表达式执行后,会把变量A里从第一个:开始到结尾的所有内容全部删除,剩下的就是:之前的协议前缀(http/https)

二、提取网址的www前缀

提取该前缀的方法十分简单:

A=www.google.com
echo -e ${A::3}

结果: www

原理说明

${A::3} 是Bash的子串截取语法,格式为 ${变量::长度},表示从变量A的起始位置(默认从索引0开始)截取长度为3的子串,刚好对应www三个字符。

内容的提问来源于stack exchange,提问作者Mr.Derek

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 05:48:06