Informações do sistema - script bash

0

Estou tentando extrair pacotes RX, fornecedor de CPU e modelo junto com a CPU MHz.

Aqui está o meu script:

#!/bin/bash
#systemstat

case $1="-r"
COUNT='ifconfig eth0 | grep 'RX packets:' | cut -d: -f2 | awk '{print $1}''
DATE='date +"%H:%M:%S"' echo "Time" $'\t' $'\t' "Total Packets eth0" echo $DATE $'\t' $'\t'$COUNT ;; "-c"
VENDOR='cat /proc/cpuinfo | grep 'vendor_id' | cut -d: -f2 | awk '{print $1}''
MODEL='cat /proc/cpuinfo |grep 'model name' | cut -d: -f2' CPU='more /proc/cpuinfo | grep 'cpu MHz' | cut -d:$

*) echo

;; esac

Estou recebendo o seguinte erro:

./systemstat: line 6: syntax error near unexpected token 'COUNT='ifconfig eth0 | grep 'RX'
./systemstat: line 6: 'COUNT='ifconfig eth0 | grep 'RX packets:' | cut -d: -f2 | awk '{print $1}'' '

Alguém pode ajudar?

Obrigado!

    
por Macenbro 18.09.2013 / 18:52

1 resposta

3

Atenciosamente, seu roteiro está uma bagunça. Antes de começar o bash scripting, você deve ler primeiro algo como: Guia do Bash para iniciantes .

Agora, seu script deve se parecer com:

#!/bin/bash
#systemstat

case $1 in
"-r")
    COUNT='ifconfig eth0 | grep 'RX packets:' | cut -d: -f2 | awk '{print $1}''
    DATE='date +"%H:%M:%S"'
    echo -e "Time\t\tTotal Packets eth0" 
    echo -e "$DATE\t\t$COUNT"
    ;; 
"-c")
    VENDOR='cat /proc/cpuinfo | grep 'vendor_id' | cut -d: -f2 | awk 'NR==1''
    MODEL='cat /proc/cpuinfo | grep 'model name' | cut -d: -f2 | awk 'NR==1'' 
    MHZ='more /proc/cpuinfo | grep 'cpu MHz' | cut -d: -f2 | awk 'NR==1''
    echo -e "CPU Model:\n $MODEL" 
    echo -e "Vendor:\n $VENDOR" 
    echo -e "MHZ:\n $MHZ" 
    ;;

*) 
    echo -e "Usage: 'basename $0' OPTION\n\tOPTIONS:\n\t\t-r -> some explanation\n\t\t-c -> some explanation"
    ;; 
esac

Veja também: Usando declarações de caso .

    
por Radu Rădeanu 18.09.2013 / 19:39