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

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

Re: [shell-script] Script para testar último comando


From: Julio C. Neves
Subject: Re: [shell-script] Script para testar último comando
Date: Tue, 20 Jul 2010 16:05:17 -0300

Isto não é uma variável, é uma função. Vou colocar um exemplo que escrevi há
uns dias usando um vetor do Bash. Talvez seja a solução que vc procura.

function command_not_found_handle
{
    echo Erro na linha ${BASH_LINENO[0]}: \
        $(head -${BASH_LINENO[0]} $0 | tail -1)
    exit 1
}

echo começou
eco esse comando não existe # eco ??? quequeisso????

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- SE turma de Shell/Zenity em 26/07 - address@hidden
- SP turma de Shell em 14/08 - www.4Linux.com.br
- Turmas fechadas em outras cidades ligue (21)8112-9988.


Em 20 de julho de 2010 12:25, Wagner Brasileiro <
address@hidden> escreveu:

>
>
> Me parece que era exatamente isso que eu precisava, vou procurar no Google
> sobre
> essa variável e quando o script estiver completo eu posto no pastbin.
> Eu imaginava que tivesse alguma configuração a nível de Bash, mas
> sinceramente
> nunca havia ouvido falar sobre essa variável.
>
> Muito obrigado Fernando.
>
> Wagner Brasileiro
>
> ________________________________
> De: Fernando Luizao <address@hidden<fernando_orse%40yahoo.com.br>
> >
>
> Para: address@hidden <shell-script%40yahoogrupos.com.br>
> Enviadas: Terça-feira, 20 de Julho de 2010 11:51:32
> Assunto: Re: [shell-script] Script para testar último comando
>
>
> Da manpage do bash:
>
> ... A full search of the directories in PATH is performed only if the
> command
> is not found in the hash table. If the search is unsuccessful, the shell
> searches for a defined shell function named *command_not_found_handle*. If
> that
> function exists, it is invoked with the original command and the original
> command's arguments as its arguments, and the function's exit status
> becomes the exit status of the shell. If that function is not defined, the
> shell prints an error message and returns an exit status of 127.
>
> O segredo é definir a função *command_not_found_handle* para fazer o que vc
>
> quiser. No google vc encontra alguns exemplos interessantes de uso =).
>
> Abraços
> Fernando
>
> --- Em ter, 20/7/10, Wagner Brasileiro <
> address@hidden<wagnerbrasileirocardoso%40yahoo.com.br>>
>
> escreveu:
>
> De: Wagner Brasileiro <address@hidden<wagnerbrasileirocardoso%40yahoo.com.br>
> >
> Assunto: [shell-script] Script para testar último comando
> Para: address@hidden <shell-script%40yahoogrupos.com.br>
> Data: Terça-feira, 20 de Julho de 2010, 10:33
>
> Bom dia pessoal,
>
> Estou pensando em desenvolver um script que teste o último comando se foi
> bem
>
> sucedido ou não e procure nos pacotes algo que se encaixe no caso de ser um
>
>
> comando externo, penso em pegar o "$?" e testar se for diferente de zero
>
> procurar nos repositórios algo que possa ser instalado, como acontece no
> Ubuntu.
>
> Minhas dúvidas são: Inicialmente penso em colocar uma tarefa no cron, mas
> isso
>
> não me garante que serão cobertos todos os comando do último minuto por
> exemplo
>
> e também acho que pode onerar muito o sistema ficar nessa averiguação
> constante
>
> por tão pouco. Gostaria de saber se existe outra forma de colher do Bash
> essa
>
> informação de maneira confiável e só quando houver digitação de comandos?
>
> .
>
> .
>
> .
>
> Enquanto terminava de escrever essas linhas me lembrei de consultar o
> history,
>
> com certeza seria um método confiável de verificar comando a comando, mas
> ainda
>
> assim não consigo uma solução para o evento em si, a não ser disparar uma
>
> verificação de tempos em tempos. Alguém sugere algo menos gambiarra!?
> Pensei em
>
> checar quando tiver alteração no history, mas mesmo assim, ainda preciso
>
> disparar um evento...
>
> Wagner Brasileiro
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [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]