有没有办法在 linux bash 上覆盖管道?

有没有办法在 linux bash 上覆盖管道?

我想知道是否有办法|用自定义命令替换 bash 中命令的默认行为。我想覆盖管道命令。

这是一个严格的技术和理论问题。每次使用管道时都会记录一个随机用例。

例如 :

echo "foo" |grep o 

会返回:

F

但也会将echo "foo"+ 时间戳保存到pipe.log日志文件中

答案1

|不是命令。所以这是不可能的。

但是你也许可以通过使用history和滥用 $PS1 来模拟你想要的东西:

PS1="$PS1"'`(date;history | tail -n1 | perl -ne "s/\|.*// and print") >> ~/pipe.log`'

相关内容