只需输入目录名称即可进入 Bash cd

只需输入目录名称即可进入 Bash cd

如果我仅输入目录名称,有没有办法让 bash 默认 cd 到某个目录?

现在我得到的是:

~ bemmu$ some_directory/
-bash: some_directory/: is a directory

我希望发生的事情是:

~ bemmu$ some_directory/
~/some_directory bemmu$ 

尝试谷歌搜索了一下,但找不到答案。我在“GNU bash,版本 3.2.57(1)-发布(x86_64-apple-darwin15)“。

答案1

将其添加到 .bashrc 文件底部

try_cd_on_error()
{
    trap trycd ERR
}
trycd() {
    trap "" ERR
    if cd $BASH_COMMAND 2>/dev/null; then
        pwd
        trap trycd ERR
        return
    fi
    trap trycd ERR
}

然后启动一个新的 bshel​​l,并输入尝试 cd_on_error进行设置,然后输入目录名称。

答案2

其中一条评论指出这个答案

要启用该功能:

shopt -s autocd

(您可能希望将上面这一行添加到您的.bashrc.)

禁用方法:

shopt -u autocd

相关内容