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: Mon, 23 Feb 2009 10:05:02 -0300

Fala Elder,
não sei se é o teu caso, mas aliases não devem sem usados/criados em
comandos compostos (uma função ou um script p.ex. são tratados como comandos
compostos) pq eles só passariam a ter efeito no fim do cmd.

Por outro lado, qdo vc fez ult=$(history 1), vc sempre receberá history 1
como retorno, já que este foi o último cmd que vc executou.

Eu pessoalmente, em virtude dessas coisas, prefiro funções a aliases. Mas já
que estamos com aliases, experimente usar history+head+tail.
-- 
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/22 Elder Marco <address@hidden>

>   2009/2/22 Julio C. Neves <address@hidden<julio.neves%40gmail.com>
> >
>
>
> Fala Elder,
> pq vc não usa o cmd history? Lá está cada alias (ou cmd) que vc executou.
> Basta cortar o sequencial que fica à frente.
>
> ---------------------
>
> Oi Júlio,
>
> Sim, eu não tinha pensado nesse comando. Ele sim mostra o último comando
> que
> entrei :-). Mas.. --- e tem um "mas" --- eu tive um problema quando tentei
> usar ele no script. Vejamos, seu eu usar ele no shell normal ( sem chamar
> nenhum script), ficaria assim:
>
> $ history 1
> 999 history 1
>
> Mas eu escrevi o seguinte arquivo de teste:
>
> $ cat script
> #!/bin/bash
>
> ult=$(history 1)
> echo $ult
>
> Mas a coisa não rolou. Eu ainda tentei inserir um alias no arquivo
> ~/.bashrc:
>
> alias teste="script"
>
> e então:
>
> $ teste
> Script iniciado, o arquivo é typescript
>
> Eu não faço a menor idéia dos motivos de eu ter recebido essa mensagem (
> além de ter sido criado um arquivo chamado typescript no diretório ~/bin,
> onde está o arquivo script original).
>
> Eu executei ele indo direto no diretório:
>
> $ ./script
>
> e só obtive uma linha em branco como resposta. Executando o bash -x percebi
> que o comando history retorna um vazio. Acredito que isso ocorra porque o
> script está sendo executado num subshell. Então, existe uma maneia de eu
> obter informações sobre o histórico do bash a partir do script com esse
> comando? Eu estive lendo o man page com informações sobre o history, mas
> não cheguei a achar alguma opção que me permitisse isso ( mas meu inglês
> não
> é lá grandes coisas.. =\)
>
> --
> 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]