Синтаксис с фунтом и знаком процента после имени параметра оболочки
Пожалуйста, объясните следующий синтаксис:
i##*.
i%.*
Я понимаю, что он делает, но я хочу знать общую закономерность (почему / как он это делает).
Код, где он появляется:
#!/bin/bash
recursive_name_change()
{
cd "$1"
for i in *
do
#echo "${i##*.}"
if [ -d "$i" ]
then
recursive_name_change "$i"
elif [ "${i##*.}" = "cpp" ]
then
new_name=${i%.*}".c"
mv "$i" "$new_name"
fi
done
cd ../
}
recursive_name_change .
Кто-то, пожалуйста, также предложите, где я могу найти эти специфические синтаксические формы?