如何在 bash 中模拟来自 zsh 的全局别名?
How to emulate global aliases from zsh in bash?
在zsh
中,您可以定义全局别名。例如,
alias -g G='| grep'
alias -g W='| wc -l'
然后像这样使用它们:
some_command G some_text W
可以在 bash
中以某种方式模拟全局别名吗?
假设您永远不想将大写字母 G 用于任何其他目的,您可以将此添加到您的 .bashrc
文件中:
bind '"G": "| grep"'
这会在您输入 G 后立即将其展开为 | grep
。也就是说,Shift+g不再产生大写的G,而是字符串| grep
。您会想要选择一个更长的序列,您永远不会期望以其他方式键入它,无论是单独键入还是作为另一个单词的一部分。
您可以将其保存到变量中
g='| grep'
那么,你的命令可以是
eval some_command $G some_text
或
some_command $G some_text
Ctrl+Alt+E(在其他系统上,它 seems to be ?ctrl+x+*
并且是可配置的)
将命令扩展为所需的 some_command | grep some_text
,因此您可以按 Enter 键。不应扩展的变量必须用单引号引起来。
虽然没有 zsh。
在zsh
中,您可以定义全局别名。例如,
alias -g G='| grep'
alias -g W='| wc -l'
然后像这样使用它们:
some_command G some_text W
可以在 bash
中以某种方式模拟全局别名吗?
假设您永远不想将大写字母 G 用于任何其他目的,您可以将此添加到您的 .bashrc
文件中:
bind '"G": "| grep"'
这会在您输入 G 后立即将其展开为 | grep
。也就是说,Shift+g不再产生大写的G,而是字符串| grep
。您会想要选择一个更长的序列,您永远不会期望以其他方式键入它,无论是单独键入还是作为另一个单词的一部分。
您可以将其保存到变量中
g='| grep'
那么,你的命令可以是
eval some_command $G some_text
或
some_command $G some_text
Ctrl+Alt+E(在其他系统上,它 seems to be ?ctrl+x+*
并且是可配置的)
将命令扩展为所需的 some_command | grep some_text
,因此您可以按 Enter 键。不应扩展的变量必须用单引号引起来。
虽然没有 zsh。