bash 使用参数扩展表达式在两个字符串之间读取

Asd*_*dfg 0 bash parameter-expansion

这就是我的输入字符串的样子:

INPUT_STRING="{/p1/p2=grabthistext}"
Run Code Online (Sandbox Code Playgroud)

我想grabthistext从 打印INPUT_STRING

我尝试了echo "${INPUT_STRING##*=}"哪些打印grabthistext}

grabthistext如何使用参数扩展表达式只读?

Fra*_*ona 5

如果您确实想要单个参数扩展,那么您可以使用:

#!/bin/bash
shopt -s extglob

INPUT_STRING="{/p1/p2=grabthistext}"

echo "${INPUT_STRING//@(*=|\})}"
Run Code Online (Sandbox Code Playgroud)
grabthistext
Run Code Online (Sandbox Code Playgroud)

不过我会使用 bash 正则表达式:

grabthistext
Run Code Online (Sandbox Code Playgroud)
grabthistext
Run Code Online (Sandbox Code Playgroud)