我已经使用bash
多年并且想继续使用它。但与此同时,其中也有一些zsh
很好用的实用程序。是否有端口使这些命令(如zmv
、zcalc
或zparseopts
作为单独的/bin
可执行文件存在)?或者我必须使用类似的技巧这?
答案1
zsh
的优势zmv
在于zsh
极其优越的通配符和参数扩展运算符。类似的bmv
仅限于bash
's 通配符和参数扩展运算符,不会像zsh
's那样有用zmv
。
如果您有一个使用类似运算符的zmv
for ,您仍然需要学习这些运算符,然后在使用无法使用这些高级运算符的地方时会感到沮丧。bash
zsh
bash
无论如何,您始终可以bash
通过以下方式执行后者:
zmv() {
zsh -c 'autoload zmv && zmv "$@"' zmv "$@"
}
zcalc() {
zsh -c 'autoload zcalc && zcalc "$@"' zcalc "$@"
}
zmv
其中将和定义为在解释器的新调用中zcalc
运行相应函数的函数。zsh
zsh
但请注意,它的局限性在于这些函数显然无法访问bash
shell 的内部变量。
例如,如果您pi = 4 * atan(1)
在 that 中执行此操作zcalc
,则该$pi
变量随后将在您的 shell 中不可用bash
。
出于同样的原因,采取这种方法zparseopts
是完全没有用的。