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

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

[shell-script-pt] Fwd: Re: Salvar o comando executado e a respectiva sa


From: Paulo
Subject: [shell-script-pt] Fwd: Re: Salvar o comando executado e a respectiva saída gerada
Date: Fri, 20 Dec 2019 09:56:29 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.1

Mais uma idéia, criar uma função.
O primeiro parâmetro é o nome do arquivo, o resto é o comando com opções etc.

$ salva_cmd(){ local arq="$1"; shift; echo -e "$@\n\n$($@)" | tee "$arq";}

$ salva_cmd 'saida ip.txt' /sbin/ip a s
/sbin/ip a s

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group 
default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
group default qlen 1000
    link/ether 40:8d:5c:8b:b7:a6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.13/24 brd 192.168.1.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever

$ cat saida\ ip.txt
/sbin/ip a s

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group 
default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
group default qlen 1000
    link/ether 40:8d:5c:8b:b7:a6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.13/24 brd 192.168.1.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever


Abraços Paulo

On 20/12/2019 06:45, Alfredo Casanova wrote:
Dá pra fazer com o comando exec também!

Em qui, 19 de dez de 2019 22:32, Itamar Santos de Souza por (shell-script-pt) <address@hidden <mailto:address@hidden>> escreveu:

    Caro Jamelson e colegas

    Pegando uma carona na sugestão do grande Fernando, o script tem a opção de 
"append" (-a/--append) e passar
    o comando como argumento após -c/--command.
    Então imaginei esse script para fazer o trabalho sujo:

    #!/bin/bash
    while test "${1#-}" != "$1"
    do
         case "$1" in
             -o) arq="$2"; shift 2;;
             -a) append='-a'; shift;;
             *) break;;
         esac
    done

    if test $# -gt 0
    then
         script $append -c "echo $*;$*" "${arq:-typescript}" 2>&1 >/dev/null
         sed -i '/^Script /d' ${arq:-typescript}
    fi


    Nesse caso vc pode escolher o arquivo de saída após a opção -o, e definir 
se vai sobreescrever o arquivo
    ou agregar ao final com o uso da opção-a.

    Espero que possa ajudar

    []'s
    Itamar

    Em quinta-feira, 19 de dezembro de 2019 21:18:16 BRT, Fernando Mercês 
<address@hidden
    <mailto:address@hidden>> escreveu:


    Você pode usar o comando *script*. Ele abre um sub-shell e loga *tudo* que 
acontece nele e salva num
    arquivo chamado "typescript" (por padrão). Veja:

    $ script
    Script started, file is typescript

    $ whoami
    fernandom

    $ exit
    exit
    Script done, file is typescript

    $ cat typescript
    Script started on Thu 19 Dec 2019 09:14:07 PM -03
    fernandom@bolton:~$ whoami
    fernandom
    fernandom@bolton:~$ exit
    exit

    Script done on Thu 19 Dec 2019 09:14:16 PM -03

    Abraço!

    Att,

    Fernando Mercês <https://twitter.com/mer0x36> | menteb.in <http://menteb.in>


    On Thu, Dec 19, 2019 at 6:13 PM Vinicius Costa Carvalho <address@hidden
    <mailto:address@hidden>> wrote:

        echo $0 ?

        On Thu, Dec 19, 2019 at 6:09 PM Paulo <address@hidden 
<mailto:address@hidden>> wrote:

            Olá Jamenson, no bash tem o comando history. Tem que filtrar a 
saída.

            $ history 2
                525  /sbin/ip a s
                526  history 2

            Deve ter um jeito melhor.
            Abraços Paulo

            On 19/12/2019 17:06, Jamenson Ferreira Espindula de Almeida Melo 
wrote:
             > Saudações.
             >
             > Mais uma pergunta de não profissional da área da tecnologia da
             > informação: como posso salvar o comando executado e a respectiva 
saída?
             >
             > Exemplo:
             >
             > Saída do comando <ip addr show>:
             >
             > 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state 
UNKNOWN \
             > group default qlen 1
             >
             >      link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
             >      inet 127.0.0.1/8 <http://127.0.0.1/8> scope host lo
             >         valid_lft forever preferred_lft forever
             >      inet6 ::1/128 scope host
             >         valid_lft forever preferred_lft forever
             > 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc 
pfifo_fast \
             > state UP group default qlen 1000
             >
             >      link/ether 08:62:66:98:82:d8 brd ff:ff:ff:ff:ff:ff
             >      inet 192.168.11.20/24 <http://192.168.11.20/24> brd 
192.168.11.255 scope global eth0
             >         valid_lft forever preferred_lft forever
             >      inet6 fe80::a62:66ff:fe98:82d8/64 scope link
             >         valid_lft forever preferred_lft forever
             >
             >
             >   = = = = = = = = = =
             >   = = = = = = = = = =
             >
             >
             > Eu costumo fazer assim:
             >
             > Passo 1: ip addr show >> saida.txt
             >
             > Passo 2: echo "ip addr show" >> saida.txt
             >
             > Passo 3: edito o arquivo "saida.txt" para colocar o comando 
executado
             > antes da saída gerada.
             >
             >
             > Ocorre que já estou enfadado de fazer assim. :)
             >
             > Será que existe um procedimento mais simples? Tipo, já salvar o 
texto do
             > comando e, também, a saída gerada pelo comando executado de uma 
só vez?
             >
             >
             > Dúvida de um Advogado que gosta muito do ambiente GNU/Linux.
             >
             >
             > Obrigado.
             >
             >
             > Jamenson Ferreira Espindula de Almeida Melo
             > Jaboatão dos Guararapes, Pernambuco, Brasil
             > Usuário GNU/Linux nº 166197
             > https://linuxcounter.net/cert/166197.png
             >
             > Impressão digital da chave PGP:
             > 234D 1914 4224 7C53 BD13  6855 2AE0 25C0 08A8 6180
             >
             > _______________________________________________
             > Lista brasileira de usuários de shell script
             > Endereço de e-mail da lista: address@hidden 
<mailto:address@hidden>
             > Para se inscrever ou desinscrever acesse: 
https://lists.nongnu.org/mailman/listinfo/shell-script-pt
             > Para ver os arquivos da lista (mensagens anteriores) e pesquisar 
nelas, acesse
            https://lists.nongnu.org/archive/html/shell-script-pt/
             >
             > NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por 
favor utilize somente esta.
             >

            _______________________________________________
            Lista brasileira de usuários de shell script
            Endereço de e-mail da lista: address@hidden <mailto:address@hidden>
            Para se inscrever ou desinscrever acesse: 
https://lists.nongnu.org/mailman/listinfo/shell-script-pt
            Para ver os arquivos da lista (mensagens anteriores) e pesquisar 
nelas, acesse
            https://lists.nongnu.org/archive/html/shell-script-pt/

            NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por 
favor utilize somente esta.



-- Vinicius Costa Carvalho

        "Se enxerguei mais longe, foi porque me apoiei sobre os ombros de 
gigantes."
        *Isaac Newton*
        _______________________________________________
        Lista brasileira de usuários de shell script
        Endereço de e-mail da lista: address@hidden <mailto:address@hidden>
        Para se inscrever ou desinscrever acesse: 
https://lists.nongnu.org/mailman/listinfo/shell-script-pt
        Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, 
acesse
        https://lists.nongnu.org/archive/html/shell-script-pt/

        NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor 
utilize somente esta.

    _______________________________________________
    Lista brasileira de usuários de shell script
    Endereço de e-mail da lista: address@hidden <mailto:address@hidden>
    Para se inscrever ou desinscrever acesse: 
https://lists.nongnu.org/mailman/listinfo/shell-script-pt
    Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, 
acesse
    https://lists.nongnu.org/archive/html/shell-script-pt/

    NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor 
utilize somente esta.
    _______________________________________________
    Lista brasileira de usuários de shell script
    Endereço de e-mail da lista: address@hidden <mailto:address@hidden>
    Para se inscrever ou desinscrever acesse: 
https://lists.nongnu.org/mailman/listinfo/shell-script-pt
    Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, 
acesse
    https://lists.nongnu.org/archive/html/shell-script-pt/

    NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor 
utilize somente esta.


_______________________________________________
Lista brasileira de usuários de shell script
Endereço de e-mail da lista: address@hidden
Para se inscrever ou desinscrever acesse: 
https://lists.nongnu.org/mailman/listinfo/shell-script-pt
Para ver os arquivos da lista (mensagens anteriores) e pesquisar nelas, acesse 
https://lists.nongnu.org/archive/html/shell-script-pt/

NOTA: A lista anterior, no Yahoo Groups, foi *desativada*. Por favor utilize 
somente esta.




reply via email to

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