寫了一個查找某種類型的文件的腳本,代碼如下:(代碼實現是查找后綴名為.c的文件)
#!/bin/bash # get the number of functions in RTS code # $1是運行腳本時,輸入的第一個參數,這里指的是使用者希望搜索的目錄
# 下面的代碼是對目錄進行判斷,如果為空則使用腳本所在的目錄;否則,搜索用戶輸入的目錄 if [[ -z "$1" ]] || [[ ! -d "$1" ]]; then echo "The directory is empty or not exist!" echo "It will use the current directory." nowdir=$(pwd) else nowdir=$(cd $1; pwd) fi echo "$nowdir"
# 遞歸函數的實現 function SearchCfile() { cfilelist=$(ls | grep '\.c$') # 獲取后綴為.c的文件列表 for cfilename in $cfilelist do echo "$cfilename" done
# 遍歷當前目錄,當判斷其為目錄時,則進入該目錄遞歸調用該函數; dirlist=$(ls) for dirname in $dirlist do if [ -d "$dirname" ]; then cd $dirname SearchCfile cd .. fi done }
# 調用上述遞歸調用函數 SearchCfile
參考文獻:
[1].http://blog.csdn.net/bluecy/article/details/6729465
[2].鳥哥的Linux私房菜-基礎篇關於shell腳本的介紹,http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts.php