【发布时间】:2015-06-20 17:51:20
【问题描述】:
我是编写 Bash 脚本的初学者,所以我对管道的架构感到困惑。例如,对于grep 之类的基本命令,是否必须以某种方式配置和编程管道才能允许进入命令?还是管道只是自动将输出作为第一个参数传递给正在传输的任何内容?
我的主要问题是说我有一个脚本,它使用my_script.sh text_file 之类的东西将文本作为第一个参数。如果我要做echo Hello | my_script.sh,管道会自动工作吗?或者我必须遵循一些接口来允许管道。
【问题讨论】:
-
echo Hello | my_script.sh会将 Hello 写入 bash 脚本的标准输入,可以通过read命令访问。如果您希望它作为参数使用my_script.sh $(echo Hello)实际上等于my_script.sh Hello -
你的脚本不能允许管道,因为它不能禁止管道。