在循环中,我正在阅读用户输入,如下所示:
#!/bin/bash
while read line; do
echo $line
python find_entity.py $line
read -p "Enter your name : " choice
echo $choice
done < "q0.txt"
但它仍然没有要求用户输入选择,而是写True
并继续。这有什么不对?
答案 0 :(得分:2)
以下内容不会涵盖所有可能的用例,但如果这个简单的解决方案适合您,请尝试
...
read -p "Enter your name : " choice < /dev/tty
...
会发生什么,指向你的是...... read
从标准输入中读取,并且全局将stdin
重定向到文件q0.txt
}
答案 1 :(得分:1)
你为什么不这样做:
for line in `cat q0.txt`
do
echo $line
python find_entity.py $line
read -p "Enter your name : " choice
echo $choice
done
您的代码不会要求任何输入,因为您将q0.txt的内容重定向到标准输入,而“read”语句从同一位置获取选择变量。