标签: linux bash
我们说我有一个字符串:
x=file.tar.sh
我知道除了最后的n个字符之外如何删除所有内容。像这样(删除除了最后3个字符之外的所有内容:
${x: -3}
但这对于具有不同后缀长度的文件不起作用。 (len .tar!= len .sh)
我会通过删除所有内容直到最后一个点来解决这个问题。我试过这个:
${x##.}
这将删除最长的匹配,直到"。"但不知怎的,它只返回完整的字符串而不删除任何东西?