如何在bash脚本中配置和允许管道?

时间:2015-06-20 17:51:20

标签: bash unix

我是初学者编写Bash脚本,所以我对管道架构感到困惑。例如,对于grep这样的基本命令,管道是否必须以某种方式配置并编程为允许进入命令?或者管道只是自动将输出作为第一个参数传递到管道中的任何内容?

我的主要问题是我有一个脚本,它使用像my_script.sh text_file之类的东西将文本作为第一个参数。如果我要echo Hello | my_script.sh管道,管道是否会自动工作,或者我必须按照某些界面来管道。

1 个答案:

答案 0 :(得分:2)

在类似Unix的系统中,everything is a file。将命令的输出(同样,它是一个文件)作为输入汇总到另一个命令pipe lining(或简称为管道)。

因此,当您看到如下一组命令时:

历史| grep ls |少

history:返回从终端输入的bash命令列表。它的输出作为输入馈入grep。 grep ls:用" ls"查找所有行字母。 (把它想象成某种过滤机制)。而且,它的最终结果是较少作为输入 less:一次显示屏幕 - 充满信息并等待用户点击密钥。

回到你的问题:为了编写一个从标准输入中获取输入的脚本,你必须记住从那里开始阅读。如果您的脚本是这样编写的,那么是的,您可以这样做。

Here are a couple of examples,您可以在其中找到如何编写此类脚本。

希望有帮助=]