我想知道是否有任何方法可以在 bash 中使用“查找”命令进行测试。换句话说,我该如何做出一个条件语句来测试是否使用“find”找到了一个文件?
为了详细说明我的意思,我包含了以下代码。其目的应该是:
- 查找用户输入的目录
- 在该目录中找到一个文件,文件名由用户输入
- 在该文件中找到一个单词,该单词也是由用户输入的
#!/bin/bash
#Task9.sh
cd /
echo "please enter a directory"
read direc
path= find home -depth -name "$direc"
if [ -z $path ]; then
echo "not a valid directory"
exit 1
else
cd $path
counter=3
while [ $counter -gt 0 ]; do
echo "enter a filename"
read FileName
FilePath= find $direc -depth -name "$FileName"
if [ -z $FilePath ]; then
break
else
let counter--
fi
done
if [ -z $FilePath ]; then
cd $FilePath
echo "input a word"
read SearchWord
echo "Found!"
grep $SearchWord $FileName
else
echo "No such file"
exit 2
fi
fi
exit 0
我对 Bash 很陌生,所以对于我忽略的任何简单错误,我深表歉意。我还不习惯解析语言。感谢任何帮助我的人,非常感谢