击:如何检查是否最后三个字符串中的字符等于“***”
答
你为什么在-1
值停止?
的manual pages of bash给出答案:
${parameter:offset}
${parameter:offset:length}
如果
offset
计算结果为数字小于零,该值被用作 一个在字符的值的末端偏移从的参数。如果length
计算结果为数字小于零,它被解释为一个从 参数,而 的不是数字字符的值的末尾中的字符的偏移,并且膨胀是字符offset
并且该结果之间 。注意,负offset
必须 从结肠由至少一个空间分开,以避免混淆 与“: - ”扩张。
因此
[ "${filename: -3}" == "***" ]
'[$文件名= * '***']]'将做的工作。 –