我还没有看到这样的用法。任何人都可以提供相关信息吗?源代码im2txt
答案 0 :(得分:2)
请参见bash manual:
$ {parameter%word} $ {parameter %% word}
单词将被扩展以产生一个模式,并根据下面描述的规则进行匹配(请参见模式匹配)。如果模式与 parameter的扩展值的尾随部分相匹配,则扩展结果为 parameter 的值与 >删除了最短的匹配模式(“ %%”大小写)或最长的匹配模式(“ %%”大小写)。 [...]
我强调了相关的选择。有问题的 parameter 是$ 1,即调用脚本的第一个命令行参数。该模式是一个简单的/
,如果存在,它将被删除。换句话说,该扩展会删除可选的尾部斜杠。
演示(y
的情况表明它只是尾随模式,z
的情况下没有匹配项):
$ x=aaa/; y=aaa/bbb; z=aaa; echo "$x -> ${x%/}"; echo "$y -> ${y%/}"; echo "$z -> ${z%/}"
aaa/ -> aaa
aaa/bbb -> aaa/bbb
aaa -> aaa
答案 1 :(得分:0)
从根本上说,它是从第一个字符串的结尾处删除最后一个“ /”字符,这是原因脚本的参数。
如果您将“ / home / users /”作为字符串,则output_dir
将变为“ / home / users”
您可以在bash here中找到有关字符串操作的更多详细信息。