Erro no script.

1. Erro no script.

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/12/2015 - 21:47h

Boa tarde a todo o pessoal do Viva o Linux !
Então, eu criei um script que mostra a primeira linha do arquivo, depois espera eu digitar 1 letra, depois mostra a segunda linha e assim por diante. Porém isso não acontece, segue o codigo ! ( arquivo ss.sh )

#!/usr/bin/env bash
i=1
n=5
while [ "$n" -lt "50" ]
do
sed -n -e "$i"p $1
read -n 1 letra
if [ "$letra" = "o" ]
then
n=1000
fi
i=$[i+1]
done

Cometi algum erro ?
Agradeço desde já,
Boutrik.


  


2. Re: Erro no script.

Perfil removido
removido

(usa Nenhuma)

Enviado em 07/12/2015 - 23:27h

Não entendi. Está confuso o que você quer e seu código do jeito que está.


3. Re

Perfil removido
removido

(usa Nenhuma)

Enviado em 08/12/2015 - 00:00h

Desculpe se eu expliquei mal. O codigo deveria ler cada linha de um arquivo que seria passado por parâmetro ( $1 ) até que eu digita-se a tecla "o" fazendo ele parar de ler o arquivo. ( ele lê linha por linha até eu digitar "o" ).
Entendeu ?
Obrigado pela atenção,
Boutrik.



4. RESP: Erro no script.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 08/12/2015 - 14:31h


Boa tarde Boutrik.
Funcionando como esperado.
Alterei a linha:
if [[ "$letra" = +(O|o) ]];then
Assim ele aceita "O" e "o"

Att.:
Marcelo


5. Re

Perfil removido
removido

(usa Nenhuma)

Enviado em 08/12/2015 - 16:08h

Boa tarde Marcelo. Ué, aqui no meu terminal ( android ) ele não lê o arquivo ( o comando sed não funciona ).
Alguma ideia ?
Att..:
Boutrik


6. RESP: Erro no script.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 10/12/2015 - 12:32h

Boa tarde.
Testei no Debian (8.2)
O seu Android esta "PREPARADO" para rodar o Script?
Já li a respeito, são necessários alguns procedimentos....
Verifique no Terminal Android se tem o sed instalado, com o comando:
which sed
Deve retornar o caminho do sed
Se não retornar... Não tem instalado
Se o problema for somente a falta do sed, contorne com o grep:
NL=Número da Linha
grep -n "" ARQUIVO | grep "^$NL"
Ou com o awk:
awk 'NR=='$NL'' ARQUIVO

Att.:
Marcelo






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts