Pular para o conteúdo

If em um array

Responder tópico
  • Denunciar
  • Indicar

1. If em um array

Enviado em 17/06/2012 - 22:29h

Alguém sabe uma maneira de fazer um if em todas as condições de um array ?

Estou executando o seguinte comando mas ele me retorna uma mensagem dizendo que há numero excessivo de argumentos.


mapfile vet < ./horarios.tmp
date=`date +%H%M`
if [ "$date" -eq ${vet["@"]} ]

Responder tópico

2. Re: If em um array

Enviado em 17/06/2012 - 23:50h

Isso porque oarroba ( @) traz todos os itens do array vet. Terás que andar pelo array item a item fazendo a comparação


#!/bin/bash

mapfile vet < ./horarios.tmp
date=`date +%H%M`

QTD=${#vet[@]} # pega a quantidade

for i in $(seq $QTD) # cria o for serial
do
if [ "$date" == ${vet[$(( $i - 1))]} ]; then # compara a data item a item
echo 'achou'
fi
done

3. Re: If em um array

Enviado em 18/06/2012 - 01:55h

Não use nome de comandos para nomear variáveis.
Caso mesmo assim o queira fazer podes aproveitar que o bash é case sensitive. Eu utilizo a forma a seguir que impede que eu sobreescreva variáveis de ambiente.



#!/bin/bash

_DATE=$( date )

echo ${_DATE}

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder