在〜/ .bash_profile中定义了别名,例如。 alias vaguppro='vagrant up --provision
在终端输入vagrant up --provision
后,我想要的是vaguppro
的回音。
类似于终端中的一个ls -hal
类型,然后再次键入!ls
。在执行之前终端中有ls -hal
的回声。
一些解决方案
vaguppro='vagrant up --provision'
alias vaguppro='echo $vaguppro && $vaguppro'
或andlrc的功能解决方案如下。
答案 0 :(得分:3)
您可能会发现此快捷方式很有用:
shell-expand-line (M-C-e)
Expand the line as the shell does. This performs alias and his‐
tory expansion as well as all of the shell word expansions. See
HISTORY EXPANSION below for a description of history expansion.
换句话说,如果你写了vaguppro
并在bash'中按 Ctrl + Alt + E 默认的Emacs模式,它会扩展当前行中的别名并将其转换为vagrant up --provision
。然后,您可以按Enter键照常运行。
答案 1 :(得分:1)
!ls
是一个历史记录扩展,用于搜索ls
的命令历史记录并扩展到找到的命令。作为奖励,扩展也会打印到终端。
要使用别名获得相同的行为,我认为您需要将其转换为函数并手动打印:
vaguppro() {
echo "vagrant up --provision"
vagrant up --provision "$@"
}
我几乎总是建议人们使用函数而不是别名,除非它为grep
,ls
添加颜色,...
alias grep='grep --color=auto'
alias ls='ls --color=auto'
alias cd..='cd ..'