将变量展开为“是什么意思?”${var%%r*}";在bash中是什么意思?
我在bash中设置了以下变量:将变量展开为“是什么意思?”${var%%r*}";在bash中是什么意思?,bash,variables,Bash,Variables,我在bash中设置了以下变量: ver=$(/usr/lib/virtualbox/VBoxManage -v | tail -1) 然后我有一个我不太理解的变量: pkg_ver="${ver%%r*}" 有人能详细说明一下它的作用,以及pkg\u ver与原始ver值的关系吗?这是一种从字符串末尾提取文本直到第一次出现r name="Ivory" printf "%s\n" "${name%%r*}" Ivo ${PARAMETER%%PATTERN} 此表单用于从字符串末尾删除试图匹
ver=$(/usr/lib/virtualbox/VBoxManage -v | tail -1)
然后我有一个我不太理解的变量:
pkg_ver="${ver%%r*}"
有人能详细说明一下它的作用,以及pkg\u ver
与原始ver
值的关系吗?这是一种从字符串末尾提取文本直到第一次出现r
name="Ivory"
printf "%s\n" "${name%%r*}"
Ivo
${PARAMETER%%PATTERN}
此表单用于从字符串末尾删除试图匹配的所述模式。运算符“%”将尝试删除与模式匹配的最短文本,而“%”将尝试删除与最长文本匹配的文本
您将获得从变量ver到第一个“r”字符的所有内容,它将存储在pkg_ver中
export ver=aaarrr
echo "${ver%%r*}"
aaa
此处完全不需要导出
。环境空间是有限的资源——导出到环境中的内容越多(从而将脚本启动的其他程序复制到启动环境中),启动新进程时的最大命令行长度就越短。