edestaark
(usa CentOS)
Enviado em 29/04/2016 - 00:23h
Olá, boa noite!
Trabalho com o OpenVZ e estou trabalhando em um script para gerenciamento de containers, porém tenho me deparado com uma dificuldade relacionada ao grep que tenho tentado utilizar.
Abaixo um trecho para capturar a variavel:
tput cup 8 0; echo "-----------------------------------------------------"
tput cup 9 0; echo "Digite o Domínio..: "
tput cup 10 0; echo "Hostname..........: "
tput cup 11 0; echo "IP Address........: "
tput cup 12 0; echo "Container ID......: "
tput cup 13 0; echo "Status............: "
tput cup 14 0; echo "***Enter=Retorna / xx=Lista todos Containers!*** "
tput cup 15 0; echo "-----------------------------------------------------"
tput cup 9 21; read DOM #Exatamente aqui, ele irá ler o conteúdo digitado.
Em seguida, todas as informações são adicionadas em variaveis com base em um
grep:
HNAME=$(grep $DOM ARQTT | awk '{print $5}')
IPADD=$(grep $DOM ARQTT | awk '{print $4}')
CTID=$(grep $DOM ARQTT | awk '{print $1}')
STATS=$(grep $DOM ARQTT | awk '{print $3}')
Porém, caso o usuário digite qualquer caractere ele já realiza este grep, por exemplo se eu digito apenas a letra "a" e pressino Enter, ele busca todos os domínios que possuem a letra A e as informações acabam ficando todas bagunçadas.
Com isso, gostaria de saber se alguém pode ajudar em relação a uma quantidade minima de caracteres que o read possa ler, dei uma olhada no man no "-n" e "-N", porém não funcionou. Não sei se utilizei da maneira errada ou não é a forma correta também.
Seguem os links com o Script e também um arquivo modelo para realização de testes:
Script: http://tinyurl.com/h6e79eq
Arquivo Teste: http://tinyurl.com/gtqvq5o
Como devem ter notado, sou bastante novo em questão de Shell Scripting, por isso caso tenham algumas dicas para eu fortalecer qualquer questões do script, principalmente relacionadas a validações, etc. Por favor fiquem a vontade, qualquer crítica será muito bem vinda :).
Desde de já agradeço a atenção.