我在cd
命令之前和之后创建了一个bash别名来执行脚本。唯一的问题是它不执行文件。
这是我的代码
cd(){
if [ -d "./.dinit" ]
then
echo "dinit file exists"
source ./.dinit
fi
builtin cd $@
if [ -d "./.init" ]
then
echo "init file exists"
source ./.init
fi
}
在 .init 文件中,我有命令echo hello
,在 .dinit 中我有echo goodbye
当我开始工作时,我将PATH=
语句与别名一起放在文件中。
有谁知道如何让命令执行?
答案 0 :(得分:1)
您的支票现在会查找目录,然后您尝试提供这些目录。这没有任何意义,所以我假设那些是你想要的文件。在这种情况下,您应该使用-f
来检查常规文件:
cd(){
if [ -f "./.dinit" ]
then
echo "dinit file exists"
source ./.dinit
fi
builtin cd "$@"
if [ -f "./.init" ]
then
echo "init file exists"
source ./.init
fi
}