[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."
------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [shell-script] Array e atribuição de valores,
jimmy <=