Это форма Расширение параметра .
"${file%.*}"
означает «Переменная file
минус все после и включая самый правый период».${file%%.*}"
будет ссылаться на крайний левый период.
Это комбинация оператора ${%}
и Glob .
edit.Мне было трудно с этим расширением «удаление подстроки», пока я не заметил, что #
слева от $
, а %
справа.Расширения параметров являются важным компонентом использования Bash в качестве языка сценариев;Я рекомендую потренироваться.