Bash 外壳输入输出重定向的辅助管道
在我的脚本中,我需要将特殊命令输出到预定义的文件描述符以及常用的stdout stderr,并在另一个程序中侦听命令,而不创建文件 本质上,它类似于使用管道重定向,但通过使用其他文件描述符或套接字或设备进行迂回: 将标准输出(1)重定向到标准输入(0)的常用方法: 我需要什么(一些重定向,使用其他描述符,例如5):Bash 外壳输入输出重定向的辅助管道,bash,shell,scripting,io-redirection,Bash,Shell,Scripting,Io Redirection,在我的脚本中,我需要将特殊命令输出到预定义的文件描述符以及常用的stdout stderr,并在另一个程序中侦听命令,而不创建文件 本质上,它类似于使用管道重定向,但通过使用其他文件描述符或套接字或设备进行迂回: 将标准输出(1)重定向到标准输入(0)的常用方法: 我需要什么(一些重定向,使用其他描述符,例如5): >执行“打开描述5” >方案1??5??&程序2你不能。做信号灯之类的事情的唯一方法是使用fifo文件,但您说过不想创建文件。您定义的文件描述符将只存在于该shell中,因此任何子进
>执行“打开描述5”
>方案1??5??&程序2你不能。做信号灯之类的事情的唯一方法是使用fifo文件,但您说过不想创建文件。您定义的文件描述符将只存在于该shell中,因此任何子进程或其他程序都不会知道它们。您需要program1写入fd 5,program2读取fd 5?那么做一个管道/fifo?问题描述太模糊了。输出哪些特殊命令?哪个程序正在监听哪些命令?如果可以使用文件,怎么做?(注:最后一个问题是让我们更好地把握问题,而不是给我们一个逃避问题的借口。)
> program1 | program2
> exec "open descr 5 <>5"
> program1 ??5?? & program2 <5 &