背景
相比于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脚本封装出更多更强大的工具来,提高自己的工作效率。