如何从 bash 中的字符串中删除后缀?

How to remove postfix from a string in bash?

我想在 shell-script 中这样做:删除文件后缀并将其保存到另一个变量中:

file=abcabc.cpp
postf=.cpp
name=${file##postf}
echo $name

但这行不通。手术后我要name=abcabc。你能帮帮我吗?

您可以使用:

name="${file%$postf}"
echo "$name"
abcabc