背景
相比於windows系統下默認使用的是bat腳本,常用linux系統的人可能對shell腳本更熟悉一些,因爲shell裏面的語法和我們在linux系統下常用的命令保持一致。
今天描述一種在windows系統中怎麼能夠通過shell腳本實現自定義文件檢索工具的方法。
環境要求
因爲windows下並沒有shell執行環境,所以我們可以藉助git自帶的git bash環境。
實現自定義文件檢索shell腳本
這裏以實現一個檢索當前目錄下文件名中包含特定關鍵詞的腳本爲例。
function read_dir() {
#echo "$1"
search_str="init" #這裏關鍵詞爲init
for file in `ls $1`
do
if [ -d $1"/"$file ]
then read_dir $1"/"$file #遞歸檢索子目錄
else
if [[ $file =~ $search_str ]]
then echo $1"/"$file #打印文件名包含指定關鍵詞的文件路徑
fi
#echo `file $1"/"$file`
fi
done
}
read_dir $1
將以上內容保存到文件searchfile.sh中,當要檢索文件時,只要執行腳本並帶上路徑參數即可
sh searchfile.sh {path}
將自定義腳本封裝成一個命令
在linux環境中,可以通過alias將一段命令語句映射爲一個短命令,這裏將上面新做好的腳本設置爲一個自定義檢索命令。
我們首先要在系統環境變量中添加alias語句,在linux下大家設置環境變量一般是修改~/.bashrc,在git-bash中也是一樣的,如果bashrc這個文件不存在,需要新建一個,添加以下語句
alias searchfile='sh ~/searchfile.sh' #searchfile.sh腳本文件放到用戶目錄下
然後再修改~/.bash_profile,保證每次啓動新的bash窗口時能自動使命令生效
source ~/.bashrc
保存之後,這時候就可以在git bash窗口中使用searchfile命令了。
總結
這裏只是一個拋磚引玉的示例,我們可以通過熟悉的shell腳本封裝出更多更強大的工具來,提高自己的工作效率。