shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re:[shell-script] não reconhece funções


From: MrBiTs
Subject: Re:[shell-script] não reconhece funções
Date: Sat, 7 May 2005 19:22:42 -0300

> Olá pessoal, sou novo na lista e no shell-script e estou criando um script 
> para criar ou excluir usuários ( só pra praticar), mas ele não funciona, 
> estou mandando o código pra lista. Se alguém puder dar uma olhada eu 
> agradeço! o único comando que roda é o primeiro (clear) :P
> ----------
> 

Bem vindo. Procure nao ofender ninguem gratuitamente nessa lista. Ela é BEM 
diferente da Linux-Board e tem regras BEM mais rigidas.

Seu script nao esta funcionando pq vc simplesmente criou funcoes e nao possui 
uma chamada a nenhuma delas. Veja que vc definiu as funcoes que respondem aos 
comandos do seu primeiro case mas nao há efetivamente uma chamada inicial a sua 
funcao principal. OU voce coloca, logo antes do exit a chamada a funcao 
pricipal ou move o codigo da funcao principal para o final do script ( sempre 
antes do exit ) e remove o principal (). Entao, essa chamada de codigo seria o 
inicio do seu script. Em outras palavras, ele ficaria assim:

#! /bin/bash
adicionar() {
 echo "Qual o nome de usuário que você deseja adicionar?"
  read user
  echo "Qual o nome completo deste usuário?"
  read fullname
  adduser -m
  principal ;;
}
excluir() {
 echo "Qual o nome do usuário à ser excluído?"
 read exuser
 echo "Você gostaria de excluir também o diretório home deste usuário? (s/n)"
 read exdir
 
 case exdir in
 s) userdel -r $exuser ;;
 n) userdel $exuser ;;
 *) echo "Você não tem esta opção!"; principal ;;
 esac
 }
 clear
 
 echo " O que você deseja fazer?"
 echo
 echo " (1) - Adicionar um usuário ao sistema?"
 echo " (2) - Excluir um usuário do sistema?"
 echo " (3) - Sair deste script."
 
 read opcao
 
 case $opcao in
 
 1) adicionar ;;
 2) excluir ;;
 3) exit ;;
 *) echo "Você não tem esta opção!"; principal ;;
 esac
 
 


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]