2016-12-25 82 views

回答

0

因为它是bash中,一个字符串这里是要走的路。

for i in {1..1000}; do 
    ./binary <<< "$i" 
done 

当选择是否重定向或使用管道,考虑你的amount of data

在回答您的评论:处理这个最好的办法是修改./binary,这样的错误处理是存在的。我假设你不能,但是,给出这个名字,所以这就是我要做的。

对于具有这种逻辑一个./binary

#!/bin/bash 

read var 
if ((var == 4)); then 
    echo "OK" 
    exit 0 
else 
    echo "NOT OK" 
    exit 1 
fi 

4此循环将输出。

for i in {1..10}; do 
    if [[ $(./binary <<< $i) == "OK" ]]; then 
    echo $i 
    fi 
done 

理想情况下,你不会捕获输出,后来检查,但是如果你正在寻找一个特定的字符串(而不是退出代码),这是很长的路要走。

+0

好,和最后一个问题:我怎么能只显示与二进制(让我们的选择的输出occurence说,我只有一个‘OK’从./binary some_number) – adrTuIPKJ44

+0

消息,因为它是一个相当小的修改,我将修改这个答案。但是,一般来说,你应该修改你的问题或者询问另一个问题。 –

+0

非常感谢! – adrTuIPKJ44

1
for i in {1..1000} 
do 
    echo $i | ./binary 
done 
+0

没有“$”,在循环表达我以前(我在我的职务,我只是编辑犯了一个错误),但即使没有$我有错:“击:语法错误附近意外的标记'( “” – adrTuIPKJ44

+0

有在我的例子中,没有括号,我使用{} :) – negacao

相关问题