KikO-PT
(usa Red Hat)
Enviado em 17/09/2009 - 05:42h
Olá a todos :)
Já uso o VOL à algum tempo, e sempre me ajudou no que foi preciso e desde já os meus parabens a todos pela excelente contribuição que todos dão para o "core" da nossa filosofia, a partilha de conhecimentos!
Agora que me registei, espero também contribuir.
Bom, problema ...!
Tenho o seguinte pedaço de codigo :
#### Pergunta ao utilizador que registo pretende modificar ####
echo "Qual o registo que pretende modificar? (1,2,3...) | Para cancelar prima 0 (zero)"
read NUMREGMOD
echo "$NUMREGMOD" > /tmp/checknumber.tmp
echo "$NUMREGMOD" >> /dev/null
VERIFICA_INTEGER=`cat /tmp/checknumber.tmp | awk '$0 !~ /[a-zA-Z]/ {print "X"}'`
if [ "$NUMREGMOD" = 0 ]
then
sairmenu
elif [ "$?" = 0 ] || [ "$VERIFICA_INTEGER" = "X" ]
then
checklineindoc
else
echo "Opcao nao valida"
modificavarios
fi
#### Verifica a existencia da linha no documento de registos ####
FUNCAO="checklineindoc"
cat /tmp/outputrue.tmp | awk -F " " '{print $1}' | grep "$NUMREGMOD" >> /dev/null
if [ "$?" = 0 ]
then
LINEDELETE=`cat /tmp/outputrue.tmp | awk NR=="$NUMREGMOD" | awk -F " " '{print $2}'`
finalvarios
else
echo "Entrada nao e valida!"
echo ""
valida_modifica_varios
fi
A minha questão reside com o facto de, quando no read introduzo :
(espaço)
Ele dá-me um erro de awk :
awk: cmd. line:2: NR==$
awk: cmd. line:2: ^ unexpected newline or end of string.
Como viram, eu já valido se o valor introduzido é um numero, e ele mostra "Opcao nao valida" quando não dou espaço ou introduzo outro caracter que não um numero.
Existe alguma forma de ultrapassar este "erro" ?
Espero ter-me feito entender, caso contrário tentarei explicar-me melhor.
Obrigado desde já :)
Ricardo Ribeiro @ PT :)