Bash 这到底是做什么的:exec>&燃气轮机;(指挥部)
我看到了以下结构:Bash 这到底是做什么的:exec>&燃气轮机;(指挥部),bash,Bash,我看到了以下结构: exec > >(tee -a script.log) 我知道tee命令是什么,(command…)通常意味着在子shell中执行命令,exec用一个程序替换当前shell,比如exec ls,(但这里没有命令),另外>意味着什么 谁能澄清一下这个黑暗的巫婆 exec >{space}> (command) @赛斯?:)任何我可以阅读更多关于这个魔法的指针都将不胜感激。:) 它用另一个会话替换当前的bash会话,并将所有命令的输出写入script.
exec > >(tee -a script.log)
我知道tee命令是什么,(command…)通常意味着在子shell中执行命令
,exec用一个程序替换当前shell,比如exec ls
,(但这里没有命令),另外>
意味着什么
谁能澄清一下这个黑暗的巫婆
exec >{space}> (command)
@赛斯?:)任何我可以阅读更多关于这个魔法的指针都将不胜感激。:) 它用另一个会话替换当前的
bash
会话,并将所有命令的输出写入script.log
通过这种方式,您可以正常使用bash
shell,并且您不会看到任何差异(大部分),但所有输出都将显示在屏幕上和script.log
文件中
发件人:
如果提供了命令,它将替换shell而不创建新进程。如果未指定命令,则可能会使用重定向来影响当前shell环境
>(tee-a script.log)
magic创建了一个管道,因此我们没有像(在本例中使用>script.log
)那样写入文件,而是写入进程tee-a script.log
,它也会这样做。由于一些我不知道的原因,使用>
不起作用,而是写入指定的管道工程 那么,换言之,我可以有更多的重定向?比如exec>(somecomamnd)>(另一个命令)>(thirdone)>[空表示标准输出?]?(正如我所说的,我知道tee:)你也可以阅读很多东西,例如diff这真的很酷。可以产生多个管状流。极其强大的cmd>2>错误等功能。我很高兴能学到新东西