如何从提示中检索文件?

如何从提示中检索文件?

假设我想创建一个脚本来提示搜索文件。

这样,

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".

相关内容