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

[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]



reply via email to

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