<分区>
我正在http://www.tldp.org/LDP/abs/html/index.html上学习bash脚本资料 并卡在示例 7-7 中:
http://tldp.org/LDP/abs/html/comparison-ops.html#EX14
有一个${filename##*.} != "gz"
,大概意思是
$filename
不以 .gz
结尾,但我不
知道这里##
的意思。谁能帮帮我?
谢谢!
标签 bash
<分区>
我正在http://www.tldp.org/LDP/abs/html/index.html上学习bash脚本资料 并卡在示例 7-7 中:
http://tldp.org/LDP/abs/html/comparison-ops.html#EX14
有一个${filename##*.} != "gz"
,大概意思是
$filename
不以 .gz
结尾,但我不
知道这里##
的意思。谁能帮帮我?
谢谢!
最佳答案
用于变量扩展,${string##sub}
从string
中移除最长的匹配子串sub
(#
移除最短的匹配子串。
在您的情况下,是的 - 这将返回文件名中第一个 .
之后的字符串,并提供文件扩展名。
如果您在 this 中搜索 ##
文档,您会找到解释(以及其他类似的命令)。
关于bash - bash 变量替换 `##` 中的 `${}` 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45234281/