如何检测bash shell命令是否后跟逻辑&& AND或||要么?

时间:2015-08-04 00:19:31

标签: linux bash shell

我喜欢使用我使用的常用构建命令的短名称。当他们完成时我也喜欢他们notify-send我这样我可以在等待而不是观看终端时进行多任务。

现在,如果我链接它们,我希望不通知命令。 e.g。

  alias b='command and parameters for my build; notify-send'
  alias b2='command and parameters for a second type of build; notify send'

  $ b
  // I am notified when it completes, just once.

  $ b && b2
  // Today, I am notified twice, when b completes and when b2 does.
  // I would like to only be notified when they all complete.
  // (and I would rather not type b && b2 && notify-send)

那么,命令可以检测到bash中的&&||后面是否会跟着它们?

1 个答案:

答案 0 :(得分:4)

没有。一般的答案是在命令之外移动通知:

b && b2; notify-result $?

现在,如果您将bb2实现为shell函数而不是外部命令,那么可以进行一些内省 - 查看{{1} } array来检查代码调用中涉及的堆栈帧 - 但这非常脆弱,绝不是一个好的做法。