Bah Tchê, se eu entendi bem, em tempo de login vc quer voltar para o diretório em que estava qdo deu logout. se for isso coloque a seguinte linha no ~/.bashrc:
cd $(cat ~/.lwd 2> /dev/null) trap "echo $PWD > ~/.lwd" 0 15 isto é, o trap salvará o diretório corrente no seu arquivo (~/.lwd) qdo sair com sinal 0, isto é, o logout comum ou um sinal 15 (kill). O cd no .bashrc te mandará para o diretório armazenado. Desviei o erro para /dev/null, pq a primeira vez que executar essa linha, não existirá este arquivo. Para ficar mais porreta, após o CD vc poderia remover ~/.lwd e ao invés de mandar a saída de erro para as cucuias, testar se ele existe e, caso contrário, colocar o $HOME. [ -d ~/.lwd ] || echo $HOME > ~/.lwd cd $(cat ~/.lwd) trap "echo $PWD > ~/.lwd" 0 15 Abraços, Julio Cursos de Shell e Zenity em 2 fins de semana? - SP turma de Shell em 29/03 - ligue (11)2125-4747; - Floripa turma Shell 12/04 http://www.seventreinamentos.com.br; - DF turma de Shell em 17/04 - ligue (61) 3223-3000; - Aracaju turma de Shell em 12/05 - [email protected]; - RJ turma de Shell em 14/06 - ligue (21)2210-6061; - Turmas fechadas em outras cidades ligue (21) 8112-9988. Em 19 de março de 2010 11:21, Arkanon <[email protected]> escreveu: > > > Mas bash, galera! (sim, eu sou do sul :-p) > > Eu tenho a impressao (impressao!) que em algum shell que eu usei em > algum momento do passado havia uma caracteristica habilitada que fazia > ele guardar em algum lugar o ultimo diretorio de trabalho. Como > resultado, sempre que abriamos uma nova sessao, automaticamente > caíamos no ultimo diretorio "entrado" pelas varias sessoes abertas. > > Talvez fosse no csh do FreeBSD, nao sei :-p > > Enfim. Alguem ja viu ou ouviu falar disso? > > De qualquer forma, resolvi implementar essa caracteristica, e cheguei > ao seguinte resultado; > > Em algum lugar de algum dos scripts de inicializacao (global ou > pessoal) do bash colocamos algo como: > > -- > > fun_cd() > { > builtin cd "${1:-$HOME}" && pwd >| ~/.lwd > } > > alias cd="fun_cd" > > [ -e ~/.lwd ] && cd `cat ~/.lwd` > > -- > > Ou seja: transformamos o comando nativo 'cd' num alias para uma funcao > 'fun_cd', a qual executa o comando nativo 'cd' passando o diretorio de > parametro (ou usa o diretorio $HOME como default). Se a entrada no > diretorio foi feita com sucesso, armazena esse diretorio no arquivo > ~/.lwd (last working directory ;-) > A cada nova sessao de login no bash, eh testado se existe o arquivo > ~/.lwd e, se for o caso, eh dado um cd para la. > > Alguem conhece uma maneira mais "nativa" de obter essa caracteristica? > > [] > > -- > (o_ ------------------ __o > //\ [email protected] <arkanon%40lsd.org.br> _`\<, > V_/_ --- www.lsd.org.br (_)/(_) > --------------------------------- > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: [email protected] --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [email protected] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
