输入新目录时,我想执行特定的bash函数。有点像:
alias cd="cd $@ && myfunction"
$@
在那里不起作用,添加反斜杠也无济于事。我也有点担心cd混乱,如果这适用于更改目录的其他命令(如pushd
和popd
),那会很好。
还有更好的别名/命令吗?
输入新目录时,我想执行特定的bash函数。像这样的东西:alias cd =“ cd $ @ && myfunction” $ @在那里不起作用,添加反斜杠也无济于事。我是...
我能想到的最简单的解决方案是这个>
myfunction() {
if [ "$PWD" != "$MYOLDPWD" ]; then
MYOLDPWD="$PWD";
# strut yer stuff here..
fi
}
export PROMPT_COMMAND=myfunction
别名不接受参数。您应该使用一个函数。无需在每次发出提示时自动执行它。
还有其他一些版本,包括
我已经使用回调函数chpwd
编写了ZSH脚本,以获取项目特定的ZSH配置。我不确定它是否可以与Bash一起使用,但是我认为值得一试。如果它不在您要访问的目录中找到脚本文件,它将检查父目录,直到找到要来源的脚本(或到达/
)为止。从目录cd出来时,它还会调用函数unmagic
,这使您可以在离开项目时清理环境。