创建自定义关键字和运算符

时间:2019-07-16 16:00:22

标签: bash

我想使用其他两个关键字代替常用的运算符,例如or代表||

alias仅对命令行执行此类操作,而我仅对bash本身的核心语法感兴趣。

在其他语言中,您可以通过简单的绑定来做到这一点,例如在F#中通过let (or) = (||)

1 个答案:

答案 0 :(得分:0)

作为别名:

alias and='(($?==0)) &&'
alias or='(($?==0)) ||'
alias not='!'

作为功能:

and () {
    (($?==0)) && "$@"
}

or () {
    (($?==0)) || "$@"
}

not () {
    ! "$@"
}

用法:

$ false; and echo hello
$ true; and echo hello
hello
$ false; or echo hello
hello
$ true; or echo hello
$ not false; echo $?
0
$ not true; echo $?
1

这些用法与Fish's combiner builtins相同。