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]
