bash计划中的连续管道

时间:2015-06-17 11:50:55

标签: bash

我正在寻找一种方法来将文本连续传输到像write这样的过程中。我想要一次缓冲和管道。到目前为止,这是我的bash脚本:

#!/bin/bash
for i in `seq 1 10`; do
    echo $i | write user
done

问题是write被打开和关闭i次。有人知道如何在循环时保持它活着吗?

1 个答案:

答案 0 :(得分:5)

当然,只需将管道移到环路外:

#!/bin/bash
for i in `seq 1 10`; do
    echo "$i"
done | write user

当您使用标记时,我建议使用大括号展开for i in {1..10}而不是调用seq。如果数字是可变的,您可以使用for (( i = a; i < b; ++i ))

之类的内容