script.log
。这样,您可以正常使用您的 shell,您不会看到任何区别(大多数情况下),但所有输出都将显示在您的屏幕上和script.log
文件中。从exec manpages:
如果提供了命令,则替换shell而不创建新进程。如果未指定命令,则可以使用重定向来影响当前的shell环境。
> (tee -a script.log)
魔术字符创建了一个管道,因此我们不是像通常那样写入文件(在本例中使用>> script.log
),而是写入进程tee -a script.log
,它执行相同的操作。出于我不知道的某种原因,使用>>
无效,但写入命名管道有效。此处有源代码。
diff <(ls /one) <(ls /two)
。 - evgeny