目录
前言
先需求想要在一个指定的文件夹,输入文件名,即可告诉你文件存在与否
一、利用shell语言生产一个在文件夹下自动查询文件的脚本
利用shell语言生产一个在文件夹下自动查询文件的脚本
二、实现方法
代码如下:
function checkRoute() {
if [ ${#1} -eq 0 ]; then
echo 0
else
if [ ! -d $1 ]; then
echo 0
else
echo 1
fi
fi
}
read -p "请输入要查文件的路径:" files
while [ $(checkRoute $world) -eq 0 ];
do
if [ ${#files} -eq 0 ]; then
echo "路径不能为空"
else
if [ ! -d $files ]; then
echo "路径不存在"
fi
fi
read -p "请输入要查文件的路径:" files
done
while read -p "请输入需查文件名称:" name
do
if [ ${#name} -le 0 ]; then
echo "文件名字不能为空"
continue
fi
result="文件不存在"
for file in $(ls $files)
do
flag=$(echo $file | grep $name)
if [ ${#flag} -gt 0 ]; then
echo "文件存在"
result=$(echo $flag | cut -d'.' -f1)
break
else
continue
fi
done
echo "结束查询为:" $result
done
三、测试脚本
测试如下:
luoshuaishuaideMacBook-Pro:Shell脚本学习 luoshuaishuai$ cd /Users/luoshuaishuai/Documents/学习资料/test
luoshuaishuaideMacBook-Pro:test luoshuaishuai$ ls
1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt
luoshuaishuaideMacBook-Pro:test luoshuaishuai$ cd /Users/luoshuaishuai/Documents/学习资料/Shell脚本学习/
luoshuaishuaideMacBook-Pro:Shell脚本学习 luoshuaishuai$ ./search.sh
请输入要查文件的路径:
路径不能为空
请输入要查文件的路径:/Users/luoshuaishuai/Documents/学习资料/test
请输入需查文件名称:
文件名字不能为空
请输入需查文件名称:1
文件存在
结束查询为: 1
请输入需查文件名称:23
结束查询为: 文件不存在
请输入需查文件名称:
文件名字不能为空
请输入需查文件名称:
总结
主要用了 grep cut read 方法,利用while if 将逻辑连接在一起,希望对你以后的工作会有帮助。