[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Recuperar último comando digitado antes de executar script
From: |
Elder Marco |
Subject: |
Recuperar último comando digitado antes de executar script |
Date: |
Sat, 21 Feb 2009 14:45:27 -0300 |
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]
- Recuperar último comando digitado antes de executar script,
Elder Marco <=
Re: [shell-script] Recuperar último comando digitado antes de executar script, Fabiano Caixeta Duarte, 2009/02/27