使用分号字符创建shell别名

时间:2016-09-16 01:24:39

标签: macos zsh zsh-alias

我注意到我倾向于将ls错误地输入;s,所以我决定创建一个别名,这样它就可以运行命令I而不是抛出错误的意思。

但是,知道分号字符在shell脚本/命令中有意义,有没有办法允许我用分号键创建一个别名?我试过以下无济于事:

alias ;s=ls
alias ";s"=ls
alias \;=ls

是否可以将分号用作shell别名中的字符?我如何在ZSH中这样做?

1 个答案:

答案 0 :(得分:0)

  • 首先:考虑以不同的方式解决您的问题 - 以这种方式对抗shell语法就是在寻找麻烦。

  • 据我所知,虽然您可以定义这样的命令 - 虽然没有别名 - 是的唯一方法>打电话它是引用,例如为\;s - 这违背了目的;请继续阅读技术细节。

    • 别名无法工作zsh允许您定义(其中,可以说,它不应该调用 引用所需的机制 - 也是绕过的机制>别名,因此阻止调用。

    • 但是,您可以定义功能(仅限zsh)或$PATH < / strong>(适用于zsh以及bashkshdash),,只要您调用它引用 (例如,\;s';s'";s"),违背目的

对于记录,这里是命令定义,但同样,它们只能被引用引用

功能(仅适用于zsh;放置在~/.zshrc等初始化文件中:

 ';s'() { ls "$@" }

可执行文字;s(适用于dashbashkshzsh;放在$PATH的目录中:

 #!/bin/sh
 ls "$@"