在bash中,当使用stdin执行脚本时,如何自动输入值?
我有一个二进制文件,要求用户输入一些值,如下所示:在bash中,当使用stdin执行脚本时,如何自动输入值?,bash,Bash,我有一个二进制文件,要求用户输入一些值,如下所示: ./binary Please enter some value: 我想将此任务自动化,并在循环中为二进制文件提供几个值: for i in (1...1000) do ./binary // Some function to give $i as a value done 你知道吗 谢谢既然是bash,就用here字符串吧 for i in {1..1000}; do ./binary <<< "$i" done
./binary
Please enter some value:
我想将此任务自动化,并在循环中为二进制文件提供几个值:
for i in (1...1000)
do
./binary
// Some function to give $i as a value
done
你知道吗
谢谢既然是bash,就用here字符串吧
for i in {1..1000}; do
./binary <<< "$i"
done
此循环将仅输出4
for i in {1..10}; do
if [[ $( ./binary <<< $i ) == "OK" ]]; then
echo $i
fi
done
{1..10}中i的;做
如果[[$(./binary)在循环表达式中的i之前没有“$”(我在帖子中犯了一个错误,我只是编辑了),但即使没有$i have和error:“bash:syntax error near unexpected token`(“”)在我的示例中没有括号;我正在使用{}.)好的,还有最后一个问题:我如何仅显示所选二进制输出的occurence(假设我只有一条来自./binary some_number的“Ok”消息),因为这是一个相当小的修改,我将编辑此答案。不过,一般来说,您应该修改您的问题或询问另一个问题。
#!/bin/bash
read var
if (( var == 4 )); then
echo "OK"
exit 0
else
echo "NOT OK"
exit 1
fi
for i in {1..10}; do
if [[ $( ./binary <<< $i ) == "OK" ]]; then
echo $i
fi
done