shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Recuperar último comando digitado antes de executar s


From: Julio C. Neves
Subject: Re: [shell-script] Recuperar último comando digitado antes de executar script
Date: Sat, 21 Feb 2009 17:59:30 -0300

Fala ELder,
se entendi (e está muito bem explicado, porém passei uns 2 chopes da conta e
hoje é carnaval) ;), não seria:

$ alias | grep $0
-- 
Abração,
*Julio
Cursos de Shell e Zenity nos finais de semana:
- Em SP ligue (11) 2125-4747;
- Em DF ligue (61) 3223-3000;
- No RJ brevemente;
- Turmas fechadas em outras cidades ligue (21) 8112-9988
*

2009/2/21 Elder Marco <address@hidden>

>   Oi pessoal,
>
> Nessa minha jornada pelo aprendizado do shell, me deparei com um problema.
> Eu criei um script que é pode ser chamado atrvés de vários comandos
> diferentes. Todos esse comandos são colocados são um alias definido no
> arquivo ~/.bashrc. Assim, por exemplo, se eu chamo esse script de 'script',
> e os dois comandos fossem mplayer e gmplayer, eu faria assim:
>
> alias mplayer="script"
> alias gmplayer="script"
>
> Então esse script seria chamando em ambos os casos. Mas ele se encarregaria
> de chamar os programas mplayer ou gmplayer conforme fosse chamado pelo
> usuário. No entanto, é aí que reside o problema porque o script precisa
> conhecer o comando que foi digitado pelo usuário. Se eu usar o argumento $0
> eu teria como resposta apenas 'script' e não mplayer ou gmplayer. Existe
> uma
> maneira de resolver esse problema que seria fazer assim no arquivo
> ~/.bashrc
>
> alias mplayer="script mplayer"
> alias gmplayer="script gmplayer"
>
> e então eu recuperaria o nome do programa chamado apenas pelo argumento $1
> do script executado. Mas não é esse o desafio :-) Eu queria recuperar o
> último comando mesmo sem ter de fazer isso. Uma maneira de recuperar um
> último comando digitado, depois de pesquisas que fiz seria fazer algo
> assim:
>
> $ ls
> bak curriculum.odt
> $ ultimo=!!
> $ echo $ultimo
> ls
>
> Mas é aí que me atrapalhei: O comando mplayer seria executado em um shell e
> o script em um sub-shell, não? Eu não iria conseguir resolver o problema
> assim e ainda que conseguisse, poderia obter um 'script'. Alguém saberia me
> informar se existe um jeito de obter no final das contas o comando mplayer
> confome exemplifiquei sem recorrer ao recurso que passei?
>
> []'s
>
> --
> Elder Marco
>
> Linux User: #471180
>
> "O conhecimento é tristeza: aqueles que mais sabem são os que mais
> profundamente devem lamentar a mais fatal verdade, a árvore do conhecimento
> não é a da vida." (Versos extraídos da tragédia Manfred, de Byron e citado
> por Nietzsche em "Humano, demasiado humano")
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]