If em um array

1. If em um array

Perfil removido
removido

(usa Nenhuma)

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["@"]} ]





  


2. Re: If em um array

Raimundo Alves Portela
rai3mb

(usa Outra)

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

Perfil removido
removido

(usa Nenhuma)

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}








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts