假设我有一个bash脚本,通过stdin获得一些输入.现在在该脚本中我想启动另一个进程并让该进程通过其stdin获取相同的数据.
#!/bin/bash
echo STDIN | somecommand
Run Code Online (Sandbox Code Playgroud)
现在上面的"回声STDIN"事情显然是假的,问题是如何做到这一点?我可以使用read从stdin中读取每一行,然后将其附加到临时文件中
cat my_temp_file | somecommand
Run Code Online (Sandbox Code Playgroud)
但这就是某种方式.
jde*_*esa 10
当您编写bash脚本时,标准输入会被其中任何尝试读取它的命令自动继承,因此,例如,如果您有一个myscript.sh包含以下内容的脚本:
#!/bin/bash
echo "this is my cat"
cat
echo "I'm done catting"
Run Code Online (Sandbox Code Playgroud)
你键入:
$ myscript.sh < myfile
Run Code Online (Sandbox Code Playgroud)
你获得:
this is my cat
<... contents of my file...>
I'm done catting
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2172 次 |
| 最近记录: |