【发布时间】:2014-12-19 22:27:32
【问题描述】:
我的嵌套 while 循环有问题。我的问题是我的内部 while 循环只执行一次,但我的外部循环能够继续重复。这是我的代码:
while [[ "$input" != "exit" && "$input" != "Exit" && "$input" != "EXIT" ]]
do
echo 'Enter "name" to find files by name'
read input
if [[ "$input" = "name" || "$input" = "Name" || "$input" = "NAME" ]]; then
while [[ "$a" != "f" && "$a" != "s" ]]
do
read -p "Want to search inside only the current folder (f) or include subfolders (s)" a
if [ "$a" = "f" ]; then
echo 'f'
elif [ "$a" = "s" ]; then
echo 's'
elif [[ "$a" != "f" && "$a" != "s" ]]; then
echo 'you have entered an invalid option, please try again'
fi
done
fi
done
这是一个示例输出:
输入“名称”以按名称查找文件
输入“大小”查找指定大小的文件
输入“日期”按日期查找文件
输入“字符串”以查找包含特定字符串的文件
输入“exit”退出脚本。
名字
只想在当前文件夹内搜索 (f) 或包含子文件夹 (s)t
您输入的选项无效,请重试
只想在当前文件夹内搜索 (f) 或包含子文件夹 (s)s
s
输入“名称”以按名称查找文件
输入“大小”查找指定大小的文件
输入“日期”按日期查找文件
输入“字符串”以查找包含特定字符串的文件
输入“exit”退出脚本。
name # 这里是我的内部循环运行失败的地方,但我不明白为什么
输入“名称”以按名称查找文件
输入“大小”查找指定大小的文件
输入“日期”按日期查找文件
输入“字符串”以查找包含特定字符串的文件
输入“exit”退出脚本。
【问题讨论】:
标签: linux bash unix while-loop