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

如何在bash中从字符串中删除后缀?,bash,shell,substring,Bash,Shell,Substring,我想在shell脚本中执行以下操作:删除文件后缀并将其保存到另一个变量中: file=abcabc.cpp postf=.cpp name=${file##postf} echo $name 但这行不通。手术后我想要name=abcabc。你能帮我吗?你可以使用: name="${file%$postf}" echo "$name" abcabc

我想在shell脚本中执行以下操作:删除文件后缀并将其保存到另一个变量中:

file=abcabc.cpp
postf=.cpp
name=${file##postf}
echo $name
但这行不通。手术后我想要name=abcabc。你能帮我吗?

你可以使用:

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