gpt4 book ai didi

linux - 如果存在 git 命令,则使 bash 命令回退到 git 命令

转载 作者:太空狗 更新时间:2023-10-29 11:27:39 27 4
gpt4 key购买 nike

基本上我想输入 show 并检查是否有 show 命令或别名已定义并触发它,如果未定义则触发 git show

例如 rm 应该执行 rmcheckout 应该执行 git checkout

是否可以在 bashrc 中对此进行编程?

最佳答案

这非常简单:

master tmp$ trap 'git $BASH_COMMAND' ERR
master tmp$ touch foo
master tmp$ rm foo
master tmp$ add foo
bash: add: command not found
fatal: pathspec 'tmp/foo' did not match any files
master tmp$ branch
bash: branch: command not found
aix
allocators
...

这会运行通常的 touchrm 命令,但是因为没有 add 命令,它会运行 git add foo 并且因为没有 branch 命令它运行 git branch

陷阱命令会在任何错误时运行,所以不仅是在找不到命令时。您可能想做一些更聪明的事情,例如运行一个脚本来检查 $? 是否为 127(当没有找到命令时 bash 设置的代码)然后检查用 git 运行它是否可行(例如通过检查名为 git-xxx 其中 xxx$BASH_COMMAND 的第一个单词)。我将其作为练习留给读者。

关于linux - 如果存在 git 命令,则使 bash 命令回退到 git 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791251/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com