Ubuntu系统中能否设置由多个单词组成的alias别名?
Ubuntu 下实现多单词别名(如修正
git puhs输入错误)的解决方案 Bash 原生 alias 不支持别名名称中包含空格,这是你配置报错的根本原因,可通过以下两种方案实现需求:
方案1:使用 Git 自带别名配置(适配 Git 类命令输错场景)
Git 本身支持自定义子命令别名,刚好匹配你的使用场景,直接执行以下命令即可完成配置:
git config --global alias.puhs push
配置生效后输入git puhs就会等价于执行git push,无需修改 Shell 配置文件。
方案2:使用 Bash command_not_found_handle 钩子(通用多单词别名方案)
如果需要实现非 Git 场景的多单词别名,可以通过重写 Bash 的命令未找到处理钩子实现:
- 打开 Bash 配置文件
nano ~/.bashrc
- 在文件末尾添加如下规则,可按照格式新增任意多单词别名映射:
command_not_found_handle() { full_cmd="$*" case "$full_cmd" in # 可在此处新增多单词别名映射规则 "git puhs") git push return 0 ;; *) echo "bash: $1: command not found" return 127 ;; esac }
- 保存退出后重载配置使其生效
source ~/.bashrc
内容的提问来源于stack exchange,提问作者Wojtek322
相关产品推荐
相关产品推荐

