Fed*_*les 5 bash shell sh bash4
我正在尝试在 Bash 中编写一个未找到的句柄,它执行以下操作:
cd进入它。$DEV_DIR,`cd 进入它。现在我有这样的事情:
export DEV_DIR=/Users/federico/programacion/
function command_not_found_handle () {
if [ -d $1 ]; then # the dir exists in '.'
cd $1
else
to=$DEV_DIR$1
if [ -d $to ]; then
cd $to
echo `pwd`
else
echo "${1}: command not found"
fi
fi
}
Run Code Online (Sandbox Code Playgroud)
尽管它似乎在工作(该echo pwd命令打印了预期的目录),但实际 shell 中的目录并没有改变。
我的印象是,因为这是我.bashrc的 shell 中的一个函数,所以我不会分叉,我可以这样做,cd但显然这不起作用。任何有关如何解决此问题的提示将不胜感激。