我很难记住哪一个参数扩展${var%subst}
or ${var#subst}
从绳子的前面取下一个,从后面取下一个。例子:
$ var=/a/b/c
$ echo dirname=${var#/*} filename=${var%%*/}
dirname=a/b/c filename=/a/b/c # Wrong!
$ echo dirname=${var%/*} filename=${var##*/}
dirname=/a/b filename=c
我总是将它们混合在一起,最终要么编写一些测试命令,要么检查手册。很容易记住这一点%%
删除更多然后%
, 因为%%
那么是一个更长的字符串%
, 2 个字符 vs 1 个字符,相同##
vs #
。但我总是混合%
with #
.
有没有一个记忆规则可以知道哪个%
or #
从字符串的哪一端删除?
百分比符号%
数字总是排在最后(例如86%
),所以他们从末尾删除。
哈希符号#
开始评论,所以它们从一开始就被删除。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)