我四处搜索,但找不到任何结论。zsh 中的 alias 命令和 bash 中的 alias 命令有区别吗?如果没有,这是否意味着我可以在两个 shell 之间共享一组别名并期望它们按我的预期工作?
Gil*_*il' 13
该alias
命令的语法在所有 Bourne 风格的 shell 中都是相同的。因此,您可以在~/.zshrc
, ~/.bashrc
, ~/.kshrc
,之间共享它们,~/.shrc
只要它们在所有 shell 中都有意义。
这同样适用于变量定义和函数定义,只要您使用所有 shell 支持的语法子集。
如果您不使用早于 4.0 的 zsh 版本,则可以将所有与 shell 无关的定义放在一个名为 (say) 的文件中~/.common.rc.sh
,其中第一行是
emulate -LR sh 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
这告诉 zsh 仅在此文件中期望 sh 兼容语法。然后在~/.bashrc
、~/.bashrc
、~/.kshrc
等开头附近找到该文件。
这基本上就是我所做的。例如,我有几分复杂的代码,对产生的别名ls
与取决于什么可用我最喜欢的选项(--color
,-G
,-F
等); 它与外壳无关,所以进入.common.rc.sh
。我也有壳依赖的别名,就像alias zcp='zmv -C'
在云.zshrc
。
归档时间: |
|
查看次数: |
5077 次 |
最近记录: |