bash - 创建自定义关键字和运算符
问题描述
我想使用其他几个关键字而不是常见的运算符,例如or
for ||
。
alias
只对命令行做这样的事情,而我只对 bash 本身的核心语法感兴趣。
在其他语言中,您可以通过简单的绑定来做到这一点,例如在 F# 中通过let (or) = (||)
解决方案
作为别名:
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
推荐阅读
- quartz-scheduler - 石英调度程序根据重复触发完成作业的事件
- wordpress - 从 AWS Bitnami Wordpress 中的子目录提供静态 html 文件
- python - 如何使用 Python 将 6GB JSON 文件转换为 CSV?
- java - QuickFIX/J - 性能基准
- angular - Angular - 错误 TS2554:预期 1 个参数,但得到 0
- javascript - 在 JavaScript 中,“Uncaught SyntaxError: Identifier 'X' has been declared”是什么意思?
- sql - Postgres - 用户定义的订单序列
- ajax - 如何在附加jquery代码相同的laravel图像中动态图像
- php - 有条件地在 woocommerce 产品页面上显示变体描述
- express-gateway - 在 Express Gateway 中,如何停止添加斜杠的代理端点