我讨厌什么时候bash给我“呃!” 那种错误:
foo$ ./bar -bash: ./bar: is a directory
我曾经喜欢AmigaOS shell,其中目录的“执行”仅仅意味着将其设置为当前目录:
foo$ ./bar bar$
在bash可能吗? (当然没有无限的别名)。
Bash 4.0有autocd选项。
从官方常见问题解答 :
有一个新的“autocd”选项,启用后,bash会尝试“cd”到一个目录名称,该目录名称将作为简单命令的第一个字提供。
另外,至less在2.0版本之前,请查看任何版本的man bash中的CDPATH环境variables。 它允许您通过在cd命令中指定的目录中search列出的目录来缩短cd命令。
不知道bash,但这是可能的在zsh中。
# ~/.zshrc setopt autocd
编辑 :你可能可以在bash中以相同的方式处理这个ubuntu捕捉命令没有find
# bashrc function command_not_found_handle { if [ -d $1]; then cd $1 else echo command not found fi }