Kornel Asked: 2009-08-07 13:38:14 +0800 CST2009-08-07 13:38:14 +0800 CST 2009-08-07 13:38:14 +0800 CST cd 到一个目录,当它的路径作为命令输入时(而不是“foo 是一个目录”错误) 772 我讨厌什么时候bash给我“呃!” 错误类型: foo$ ./bar -bash: ./bar: is a directory 我曾经喜欢 AmigaOS shell,其中“执行”一个目录仅仅意味着将其设置为当前目录: foo$ ./bar bar$ 有可能bash吗?(当然没有无限数量的别名。) bash shell directory 3 个回答 Voted Best Answer Dennis Williamson 2009-08-14T08:57:08+08:002009-08-14T08:57:08+08:00 Bash 4.0 有这个autocd选项。 从官方常见问题解答: 有一个新的 'autocd' 选项,当启用时,会导致 bash 尝试 'cd' 到作为简单命令的第一个单词提供的目录名。 此外,请查看至少早在 2.0 以来的任何版本的CDPATH环境变量。man bash它允许您cd通过在列出的目录中搜索命令中指定的目录来缩短命令cd。 theotherreceive 2009-08-07T13:42:35+08:002009-08-07T13:42:35+08:00 不了解 bash,但这在 zsh 中是可能的。 # ~/.zshrc setopt autocd 编辑:您可能可以在 bash 中处理此问题,就像 ubuntu 捕获未找到的命令一样 # bashrc function command_not_found_handle { if [ -d $1]; then cd $1 else echo command not found fi } Phlarx 2018-07-19T07:07:17+08:002018-07-19T07:07:17+08:00 作为未来搜索的文档,这在 csh / tcsh 中也是可能的,尽管名称不同: # ~/.cshrc set implicitcd 此值也可以设置为详细,然后回显以这种方式调用的 cd 命令。
Bash 4.0 有这个
autocd
选项。从官方常见问题解答:
此外,请查看至少早在 2.0 以来的任何版本的
CDPATH
环境变量。man bash
它允许您cd
通过在列出的目录中搜索命令中指定的目录来缩短命令cd
。不了解 bash,但这在 zsh 中是可能的。
编辑:您可能可以在 bash 中处理此问题,就像 ubuntu 捕获未找到的命令一样
作为未来搜索的文档,这在 csh / tcsh 中也是可能的,尽管名称不同:
此值也可以设置为详细,然后回显以这种方式调用的 cd 命令。