因此,我不确定这是错误还是在未意识到的情况下更改了设置。
每当我使用tab自动完成git-bash中的参数时,它都会尝试运行我的脚本三次。
mike@Puter:~/workspace/project$ git bash: ./run_proxy_tests.sh: No such file or directory
bash: ./run_proxy_tests.sh: No such file or directory
bash: ./run_proxy_tests.sh: No such file or directory
我只输入“ git”并按下选项卡,然后它尝试运行该脚本。显然,如果我在正确的目录中,则它实际上确实会运行该脚本3次。
这仅在键入“ git”之后发生。我已经尝试过其他命令,并且可以按预期方式工作。
我已经采取的步骤:
1. System reboot
2. Checked ~/.bashrc && ~/.bash_aliases for an alias that may cause this
3. tried different terminals and multiplexers (tmux, tillix, terminal) (The problem exists in all)
4. sudo apt-get --remove git then reinstalled
编辑:我还应该补充一点,如果我输入“ git checkout” “ git add”等。
我真的不认为会发生这种情况。有任何想法吗?
答案 0 :(得分:1)
我找到了解决方案。现在我想起来很新手。
在我的〜/ .bash_aliases中,我有一个这样写的别名:
alias test="./run_proxy_tests.sh -p ~/workspace/project/project-proxy.linux.x86_64 -l 1"
我通过淘汰过程发现,如果我将其注释掉。问题消失了。
但是为什么会这样呢?为什么按Tab键运行别名。而且只有在运行git命令时。
好吧,我在“ git-completion.bash”文件中查看了git的git存储库。并发现了这一点:
while test -n "$rest"; do
难怪它跑了3次。
故事的道德: 命名别名时要更明确
参考: https://github.com/git/git/blob/master/contrib/completion/git-completion.bash#L132