請解釋下面的語法英鎊和百分號:語法與後殼參數名
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 .
有人請也建議,我在哪裏可以找到這些特殊的語法形式?
你甚至*嘗試*閱讀bash手冊頁並搜索'##'? – ghoti
不,我沒有在bash手冊中搜索它,但我確實執行了谷歌搜索,但沒有任何有用的結果。 –
尋找「參數擴展」。 –