Shell Script

1. Shell Script

Michel F Farias
MichelFarias

(usa Debian)

Enviado em 20/06/2018 - 19:07h

Boa noite, alguém poderia me ajudar resolver esse script?
Desenvolva um shell script que faça cadastros em um arquivo. Ao executar, o script deverá exibir um menu perguntando se o usuário irá listar, cadastrar ou encerrar. Ao listar, o script deverá exibir o conteúdo da lista na tela e retornar ao menu. Ao cadastrar, o script deverá perguntar um nome, um telefone e verificar se já existe na lista. Caso exista, o script deverá informar o erro e retornar ao menu. Caso não exista, o script deverá realizar o cadastro. Ao digitar a opção encerrar, o script deverá terminar. Se digitar uma opção inválida, o script deverá apresentar um erro e retornar ao menu inicial.


  


2. Re: Shell Script

Guilherme Machado
Ma-chan

(usa Arch Linux)

Enviado em 20/06/2018 - 20:54h

Estude while, select ou case.
Boa sorte em seu aprendizado. =]



Distro Down - Download Easy Linux distros
AUR: https://aur.archlinux.org/packages/distrodown-git/
GitHub: https://github.com/automatizando/distrodown
yaourt -S distrodown-git

# chsh -s /usr/bin/fish colorado 




3. Re: Shell Script

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 21/06/2018 - 00:15h

MichelFarias escreveu:

Boa noite, alguém poderia me ajudar resolver esse script?
Desenvolva um shell script que faça cadastros em um arquivo.
Ao executar, o script deverá exibir um menu perguntando se o usuário irá listar, cadastrar ou encerrar.
Ao listar, o script deverá exibir o conteúdo da lista na tela e retornar ao menu.
Ao cadastrar, o script deverá perguntar um nome, um telefone e verificar se já existe na lista.
Caso exista, o script deverá informar o erro e retornar ao menu.
Caso não exista, o script deverá realizar o cadastro.
Ao digitar a opção encerrar, o script deverá terminar.
Se digitar uma opção inválida, o script deverá apresentar um erro e retornar ao menu inicial.


Boa noite Michel, te ajudo sim....
Segue:
#!/bin/bash
CVM="\x1B[0;38;5;196m"
CVD="\x1B[0;38;5;2m"
FC="\x1B[m"

MENU() {
clear;
echo -e " 1) Cadastrar\n 2) Listar\n 3) Sair\n"
read -p " Escolha uma opção: " -n1 opcao
case $opcao in
1) CADASTRO;;
2) LISTA;;
3) echo -e "\n${CVM} EXIT${FC}";exit;;
?) echo -e "\n${CVM} Opção Invalida.\n${FC}";SLEEP;MENU;;
esac
}

CADASTRO(){
echo -e "\n${CVD} Informe o solicitado\n${FC}"
read -p " Nome: " nome;read -p " Fone: " fone;echo;
if grep -qwi "$nome|$fone" lista.txt;then
echo -e "${CVM} $nome, já cadastrado\n${FC}"
else
NRA=$(awk 'END {print NR}' lista.txt)
echo ":$nome:$fone" >> lista.txt
NRD=$(awk 'END {print NR}' lista.txt)
(( $((10#$NRD)) > $((10#$NRA)) )) && echo -e "\n${CVD} Efetuado com sucesso${FC}" || echo -e "\n${CVM} Erro no cadastro${FC}"
fi
SLEEP;MENU;
}

LISTA(){
awk -F: '{printf " %s %s\n" ,$1,$2}' lista.txt |sort -t" " -k1
echo -e "${CVD}";read -p " Pressione uma tecla para retornar:" -s -n1;echo -e "${FC}"
MENU;
}

SLEEP() { sleep 2.5 ; }
MENU


Att.:
Marcelo Oliver






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts