繁体   English   中英

Bash 脚本不等待用户输入响应

[英]Bash script does not wait for user to enter response

我正在尝试读取文本文件(逐行)并在 while 循环中获取用户响应。 但是,脚本不会等待输入。 相反,它只是将所有文本打印到屏幕上。

while IFS= read -r line || [ -n "$line" ]; do
    printf '%s\n' "Store $line y or n: "
    read input
    if [ $input == "y" ]
    then
        echo $line >> saved_domains.txt
    fi
done < "urls.txt"

该脚本仅打印文件中的替代文本行(请参阅下图)。

输出

这对我有用:

exec 3<&0
while IFS= read -r line || [ -n "$line" ]; do
    printf '%s\n' "Store $line y or n: "
    read -r -u3 input
    if [ $input == "y" ]
    then
        echo $line >> saved_domains.txt
    fi
done < "urls.txt"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM