Eu acredito que seja mais simples e fácil trabalhar com o "wc -m" que
te retorna o número de caracteres da entrada. Mas tem um "catch" ai,
eu acredito que ele conte o \0 no final da string também, pois em meus
testes ele sempre passava um número a mais do que realmente existia na
string, por exemplo, em:

$ echo "senhas" | wc -m

Ele me retornava 7. Seu código utilizando o wc seria algo como:

==========================
#!/bin/sh

set senha
set n

echo -n "Digite sua senha: "
read senha

n=`echo $senha | wc -m`
n=$[n-1]

if [ $n -gt 10 ]; then
        echo "Erro: Senha muito grande!"
        exit 1
fi

echo "Senha correta!"
======================================

Em meus testes aqui no bash esse código funcionou ok.


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil





Links do Yahoo! Grupos

Responder a