Você tem que seguir outro caminho. Adicione uma linha no final do seu .bashrc
que altera o diretório no último diretório que a instância anterior do bash tinha como CWD
(diretório de trabalho atual).
Uma linha como esta funcionou para mim:
cd $(readlink "/proc/$(echo -n $(ps -u $(whoami) -eo stat,pid,cmd | awk '$3 == "'$(which bash)'" && $1 ~ /\+/{print $2}' | sort | head -1))/cwd")
Explicação :
-
cd $(...)
: altera o diretório para o que for determinado abaixo -
readlink /proc/$(...)/cwd
: lê o link para o qual/proc/pid/cwd
aponta (diretório de trabalho atual) -
echo -n $(...)
: remove a nova linha à direita -
ps -u $(whoami) -eo stat,pid,cmd
: mostra meu processo em um formato simples -
awk '$3 == "'$(which bash)'" && $1 ~ /\+/{print $2}'
se for umbash
ebash
estiver no grupo de processos em primeiro plano (indicado pelo+
no campostat
), depois imprima o pid -
sort | head -1
queremos apenas o menor pid
Editar:
No seu caso, essa pode ser uma solução melhor:
cd $(readlink /proc/$(pgrep -n meteor)/cwd)
Ele determina o pid da instância mais recente de meteor
e altera para este diretório de trabalho atual.