![如何从提示中检索文件?](https://linux22.com/image/63504/%E5%A6%82%E4%BD%95%E4%BB%8E%E6%8F%90%E7%A4%BA%E4%B8%AD%E6%A3%80%E7%B4%A2%E6%96%87%E4%BB%B6%EF%BC%9F.png)
假设我想创建一个脚本来提示搜索文件。
这样,
echo "What file are you searching for?"
read filename
filepath=/test/dir1
file=$filename
for I in file
do
echo "$I"
find "$filepath" "$I"
done
这似乎会持续搜索指定的文件名。但是,我得到了查找:文件:没有这样的文件或目录
答案1
首先,for I in file
可能应该是for I in $file
;检索变量值时需要美元符号。
我会通过以下方式更改您的脚本:
echo "What file names are you searching for?"
read files
filepath=/test/dir1
for f in $files
do
echo "$f"
find "$filepath"/"$f"
done
$file
我删除了对from 的分配$filenames
,并假设您的意思是让用户输入几个以空格分隔的文件名。
然后我传递了find
一个路径,该路径是通过用单个斜杠分隔目录名和文件名来构造的。如果您打算在任意深度查找类似这样命名的文件,您可以使用find "$filepath" -name "$f"
.