bash - 在 bash、csh 和 zsh 之间有共同的别名文件

标签 bash zsh csh tcsh

我在个人笔记本电脑上使用 zsh,在工作中使用 bash/tcsh,在学校使用 tcsh。我在所有位置都设置了 git,以便于使它们保持同步。

我想知道是否可以对所有 3 个 shell 使用通用文件作为别名,并从各自的 rc 文件调用脚本以将其转换为特定于 shell 的语法。我会怎么做呢?这可能不是一个好方法;我乐于接受建议。

最佳答案

正如您已经建议的那样,它错误的方法。正确的方法是在所有系统上简单地使用 Bourne-heritage shell,无论是 zsh、ksh、bash、plain sh 还是 busybox。这样你所有的别名都在 Bourne 语法中,你唯一担心的是是否完全支持别名(古老的 sh 不支持)以及它们是否适用于你的 shell(zsh 具有全局别名 alias -g which其他 shell 没有)。

在学校你应该能够调用 Bourne-heritage shell,例如

 exec /bin/sh -l

在提示符下或在您的 .cshrc 中。也许您的管理员甚至允许您选择您梦想的 shell。

关于bash - 在 bash、csh 和 zsh 之间有共同的别名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10723784/

相关文章:

linux - 如何根据另一个文件中的相应值来划分列?

zsh - Zsh 中的鱼式自动建议?

zsh:运行 zle 小部件后刷新提示

perl - 解释 Perl "preamble"的狡猾

linux - 匹配时如何退出 Sed

linux - 仅回显有效用户

bash - BASH 变量名称中可以接受哪些 Unicode 符号?

linux - .cshrc 修改后打不开

ruby - 如何确定 XFS 文件系统是否以编程方式卡住?

Zsh 返回 `<function>:<linenumber> = not found`