【发布时间】:2018-07-03 23:26:06
【问题描述】:
我正在编写的脚本中有类似的内容:
CMD="/path/to/cmd,there.sh"
TMP="${CMD##*/}"
echo "${TMP%%,*}"
有没有办法在第 2 行和第 3 行嵌套删除子字符串,或者在单行中以纯 bash 产生相同的结果,而无需使用另一个程序? ${CMD} 的长度不是静态的。为了清楚起见,我希望输出只是“cmd”。
我尝试了以下各种形式的括号和引号,但出现语法错误。这是(我认为)允许但不在新版本的 Bash 中的东西。
echo "${${CMD##*/}%%,*}"
【问题讨论】: