我正在为Z-Shell编辑dotfile别名。这是我从dotfiles repos中找到的别名。
function gch() {
git clone git://github.com/$USER/$1.git
}
然后当我去zsh时,运行如下命令:
gch benhoskings dot-files
我期望发生的是
git clone https://github.com/benhoskings/dot-files
运行该命令后,它只输出
[Process completed]
壳冻结了,^ C也没用。我启动了一个新的shell,我的所有git命令都被压缩了,就像我执行git status
一样,它显示[Process completed]
并且shell运行超慢。
我知道修复别名函数需要什么,所以我可以传递两个参数,比如这些
function gch() { git clone git://github.com/$1/$2.git }
如何杀死在后台运行的进程?它减慢了一切,无法运行任何git命令。我通过采购.zshrc重新加载zsh,并尝试重新启动计算机以清除当前会话,仍然无法摆脱后台运行的进程。我该如何解决?
答案 0 :(得分:0)
好吧,我编辑了多个别名。导致[过程完成]的真正问题不是执行的功能。这是我添加的这个功能
gls() { query="$1" shift glog --pickaxe-regex "-S$query" "$@" }
我不知道为什么它会导致shell中断,但是我删除了这个功能,一切都恢复正常了。当我看到[处理完成]错误时,我吓坏了很长时间。好吧,谁能告诉我为什么这个会破?
或者另一个问题,我在github上发现了其他人的dotfiles。有时它使用这种格式:
git_current_branch() { cat "$(git rev-parse --git-dir 2>/dev/null)/HEAD" | sed -e 's/^.*refs\/heads\///' }
有时,它将此格式与函数关键字一起使用:
function git_current_branch() { cat "$(git rev-parse --git-dir 2>/dev/null)/HEAD" | sed -e 's/^.*refs\/heads\///' }
他们都有效。这两种格式有什么区别?这是你在CLI中调用的方式吗?