管道输入重定向到我的新函数中的随机点

时间:2017-10-09 20:36:38

标签: shell pipe io-redirection

对不起这个问题的错误措辞,真的不能想出一个体面的说法。

问题: 我希望显示某个序列,并给出一个数字,例如19。

  
    

$ echo 19 | seq 1 2 [从这里输入管道]

  

所以我希望序列从1开始,增量为2,直到达到输入数字19。 而且我不知道该怎么做,虽然它可能很容易,但我仍然对shell很新。

PS:对不起,如果这是重复的,我在15分钟搜索后找不到我要找的东西。

1 个答案:

答案 0 :(得分:1)

我不确定您是否可以将参数传递到seq。但是有可能获得命令的输出并在seq中使用它。 你可以使用这个

e=$(echo 19) && seq 1 2 "$e"

更简单的方法是:

seq 1 2 $(echo 19)

在这种情况下,这将运行一个命令echo 19,并将其分配给变量e。仅当此分配成功时,才会运行下一个命令(这由&&确保)。然后,下一个程序将通过"$e"将该变量用作参数。在这种情况下,双引号不是必需的,但它们可能在此方法的其他一些情况下很有用。