【发布时间】:2014-07-08 01:52:18
【问题描述】:
我对 linux 脚本非常陌生,我正在尝试设置一个简单的循环,它将:
- 询问用户文件名
- 在特定目录中搜索文件
- 如果未找到文件,请用户重新输入文件名
- 如果找到文件,请继续执行脚本的下一步
这是我目前所拥有的,但它根本没有循环(即当没有找到文件时,它不会要求用户重新输入文件名。)
#!/bin/bash
read -p "Enter file name: " file
find /directory/ -name "$file" -print
while [ "$?" -ne 0 ]; do
read -p "File not found. Please re-enter file name: " file
find /directory/ -name "$file" -print
done
echo "rest of script etc"
感谢任何帮助! :)
【问题讨论】:
-
find在错误时返回非 0,如果没有找到文件则不会。请参阅this 以获得简单的修复。此外,请考虑将-quit添加到您的find命令以在找到一个匹配项后停止遍历。
标签: linux bash shell unix find