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


Responder a