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

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

Re: [shell-script] Array e atribuição de valores


From: jimmy
Subject: Re: [shell-script] Array e atribuição de valores
Date: Thu, 1 Oct 2009 16:21:41 -0300
User-agent: Mutt/1.4.2.3i

On Wed, Sep 30, 2009 at 04:40:15PM -0000, Fernando wrote:
> 
> 
>    Boa tarde pessoal.
>    Tenho algumas dúvidas sobre arrays e atribuição de valores.
>    Este é o script que estou desenvolvendo:
> 
>    #!/bin/bash
> 
>    start(){
>    NCores=$(cat /proc/cpuinfo | grep 'cpu cores' | uniq | awk '{ print $4 }'
>    for Cores in $( seq 0 $(( NCores - 1 ))); do
>    CPU[$Cores]=$(mpstat 1 -P "$Cores" 1 | tail -1 | tr ',' ' '| awk '{ print
>    $3 }'
>    let "AVG = $AVG + ${CPU[$Cores]}"
>    echo "Elemento [$Cores]: ${CPU[$Cores]} = $AVG" >> Cores.txt
>    done
>    }
> 
>    case "$1" in
>    'start')
>    start
>    ;;
>    *)
>    echo "Use: $0 {start}"
>    exit 1
>    esac
> 
>    Este código funciona corretamente sendo executado no terminal, onde
>    obtenho a seguinte saída:
>    #cat Cores.txt
>    Elemento [0]: 37 = 37
>    Elemento [1]: 36 = 73
>    Elemento [2]: 5 = 78
>    Elemento [3]: 35 = 113
> 
>    Agendando a execução deste script pelo cron diretamente em /etc/crontab:
>    * * * * * root /etc/init.d/Monitor start > /dev/null
> 
>    ...obtenho a seguinte saída:
> 
>    Elemento [0]: 33.61 =
>    Elemento [1]: 33.64 =
>    Elemento [2]: 98.00 =
>    Elemento [3]: 14.68 =
> 
>    Algumas coisas que observei:
>    - No script, faço a remoção da vírgula (... tr ',' ' ' ...) e os valores
>    aqui aparecem com ponto (33.61)
>    - Os valores não são somados
> 
>    Qual é a explicação para esta diferença entre o root executar diretamente
>    no terminal e executar através do cron?
> 
>    A soma não ocorre porque o valor está em outro shell?
> 

faça a depuração do seu script com bash -x ou usando echo mesmo.

-- 
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------


reply via email to

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