【发布时间】:2022-01-05 15:13:25
【问题描述】:
我正在编写一个数据格式化 bash 脚本。该脚本读取用户在终端中输入的文件名。当然,当在该目录中找不到该名称下的文件时,程序将以 stderr 输出结束。我现在正在尝试实现一个(while)循环,它递归地询问用户输入,直到找到匹配的文件,然后继续执行我的数据格式化命令。希望得到一些帮助:)
【问题讨论】:
标签: bash while-loop user-input stdout
我正在编写一个数据格式化 bash 脚本。该脚本读取用户在终端中输入的文件名。当然,当在该目录中找不到该名称下的文件时,程序将以 stderr 输出结束。我现在正在尝试实现一个(while)循环,它递归地询问用户输入,直到找到匹配的文件,然后继续执行我的数据格式化命令。希望得到一些帮助:)
【问题讨论】:
标签: bash while-loop user-input stdout
我现在正在尝试实现一个递归的 (while) 循环
我建议不要为此使用递归。做一个简单的循环。它可能看起来像这样:
while true; do
IFS= read -rp 'File: ' file
if [[ -e $file ]]; then
break;
fi
echo "$file doesn't exist, try again"
done
# work with $file here
【讨论】: