tilde falha ao executar o “cd -” no bash

3

Recentemente, não consigo usar cd - para voltar ao último diretório, às vezes. Dá o erro de -bash: cd: ~/whatever_dir: No such file or directory . Um olhar mais atento mostra que o erro só acontece se o último diretório contiver o til. Parece que o til não pode ser expandido. "cd ~", no entanto, pode mudar com sucesso para o meu diretório pessoal. Qual é o problema? Eu sei que til não vai se expandir dentro de aspas, mas o último diretório armazenado não está em qotes ao executar cd - , certo? Além disso, cd - funcionou para mim anteriormente.

    
por RNA 16.12.2011 / 22:30

2 respostas

1

A origem provável do problema, executada como parte de PROMPT_COMMAND em sua configuração bash:

PWD="${PWD/$HOME/~}"

Pare de reatribuir PWD a um valor diferente. Isso só vai quebrar as coisas.

    
por 19.12.2011 / 19:12
0

Você tem um bug sério no seu shell que deve reportar. Você disse que, em tal situação, $OLDPWD mostra ~/whatever_dir . Não deveria.

Aqui está o que eu tenho aqui:

fge@erwin ~/whatever_dir $ pwd
/home/fge/whatever_dir
fge@erwin ~/whatever_dir $ cd -
/home/fge
fge@erwin ~ $ echo $OLDPWD
/home/fge/whatever_dir

~ é apenas um atalho conveniente usado pelos shells para indicar seu diretório inicial. O meu é /home/fge . Em qualquer caso, $OLDPWD deve mostrar um caminho absoluto, NÃO um caminho com ~ , exceto se você tiver um diretório chamado ~ .

    
por 17.12.2011 / 10:14

Tags