歡迎您光臨本站 註冊首頁

bush shell腳本程序解讀

←手機掃碼閱讀     火星人 @ 2014-03-24 , reply:0

今天在看邱鐵的一書,在裡面有這麼一個bush腳本程序:
for i in $*;do
find "$i" -name "*.c" -exec rm -r -f {} \;
[ "$i/*"=$i/*]&&{
rmdir "$i"
echo "Delete Directory $i"
}
done
應用的時候比如把這個腳本程序命名為a.sh,然後在該程序目錄下建立1和2兩個目錄,再在目錄1下面建立11.c和12.c任意兩個文件,目錄2下面建立21.c和22.txt兩個文件。
然後運行 ./a.sh 1 2
結果就只剩下2目錄和其下面的22.txt文件,其他的都被刪掉了。
這裡面我有這麼3個問題:
1,find "$i" -name "*.c" -exec rm -r -f {} \;,這後面的{} \是幹什麼用的?
2,[ "$i/*"=$i/*]判斷語句中, "$i/*"和$i/*分別指什麼?按我的理解:比如i是目錄1的時候,這兩者不都是指1/*,也就是目錄1下所有文件的意思,但是事實顯然不是這樣的。所有請指點。
跪求!

[火星人 ] bush shell腳本程序解讀已經有678次圍觀

http://coctec.com/docs/linux/show-post-143905.html