这里面其实是有2个关键点
首先要获取到某个目录下的所有文件名称
然后再对名称进行截取
具体代码如下
#!/bin/bash
cd ~
for file in $(ls )
do
echo $file
echo ${file%-}
done
执行结果如下图

总结起来就是
*是忽略掉字符的意思
是截取字符串的右边字符,所以*要在截取的字符串的左边,即忽略掉该字符左边的字符,从而截取到右边的字符
%是截取字符串的左边字符,所以*要在截取的字符串的右边,即忽略掉该字符右边的字符,从而截取到左边的字符
例如示例代码中 ${file%-*} 即是用“-”去截取字符串file,获取到“-”左边的字符串
关于shell截取字符串的详细解释,请看这里
