Seja por design ou supervisão, parece que o teste para se você digitou um nome de diretório não pesquisa a variável CDPATH
:
execute.cmd.c
, função execute_simple_command
:
if (autocd && interactive && words->word && is_dirname (words->word->word))
{
words = make_word_list (make_word ("cd"), words);
xtrace_print_word_list (words, 0);
goto run_builtin;
}
A definição de is_dirname
está no mesmo arquivo de origem:
/* Return 1 if the file found by searching $PATH for PATHNAME, defaulting
to PATHNAME, is a directory. Used by the autocd code below. */
static int
is_dirname (pathname)
char *pathname;
{
char *temp;
int ret;
temp = search_for_command (pathname, 0);
ret = (temp ? file_isdir (temp) : file_isdir (pathname));
free (temp);
return ret;
}
Com isso, parece que autocd
encontrará diretórios em PATH
, mas testei com X11
(para /usr/bin/X11/
) e recebi o erro X11: No such file or directory
.