bash 4.2 comando autocd default sobre o diretório

2

Apenas mudei de tcsh para bash 4.2 no OSX, e o autocd foi o que me permitiu fazer isso. Mas parece que, por padrão, se você digitar o nome de um diretório que também é o nome de um executável em meu caminho, o autocd não é invocado e o comando é executado.

Existe uma maneira de mudar esse comportamento, de modo que ele supõe que eu quero estar seguro e cd no diretório especificado?

    
por Brian 19.05.2012 / 06:19

1 resposta

4

Você provavelmente não pode, o que aponta para um problema subjacente sobre por que um recurso como autocd nunca pode se tornar padrão: ele introduz ambigüidade. Se você alterou o comportamento: como você iniciaria um programa com o mesmo nome de um subdiretório atualmente disponível? Ele se torna não-determinístico, o que é a pior coisa que uma UI pode se tornar, e (pior ainda para shells não interativas, mas isso é evitável simplesmente configurando autocd para shells interativas).

Quando digo "você provavelmente não pode", quero dizer que examinei a seção shopt de man bash e não encontrei nenhum modificador desse tipo. Pode-se, claro, corrigi-lo por, e. modificando a fonte do Bash, mas eu acho que sua pergunta se referia a uma configuração disponível para corrigir isso para você.

    
por 19.05.2012 / 10:06

Tags