Estok SH 1.2b - Controle de Estoque em Shell Script

Publicado por Raphael Ciribelly (última atualização em 19/02/2020)

[ Hits: 2.390 ]

Download estok1.2b.sh




Sistema de Estoque em 47.659 bytes

Funcionalidades: Cadastro de produtos, Clientes, Fornecedores, Entrada e Saída e contagem de produtos

Como usar

Dê permissão para execução:

$ chmod +x estok1.2b.sh

Execute o arquivo com a opção -m (menu):

$ ./estok1.2b.sh -m

Observações: o programa é bem simples, fiz para estudo, criei em apenas uma semana então possui alguns bugs que precisam ser resolvidos. Sinta-se a vontade para usar, copiar e alterar o código, caso queira melhorar o programa.

Abraço a todos.

  



Esconder código-fonte

#!/usr/bin/env bash
# Autor: Raphael Ciribelly
# Bash: 4.4.20(1)-release (x86_64-pc-linux-gnu)
# Idioma: pt_BR.UTF-8

#---> variaveis
MENUPRINCIPAL="menuloop"
ESTOKDIR=~/estok                                                # diretorio estok
PRODUTODIR=~/estok/produtos                                     # diretorio produtos
LOGDIR=~/estok/logs                                             # diretorio log
CLIENTEDIR=~/estok/clientes                                     # diretorio clientes
FORNECEDORDIR=~/estok/fornecedores                              # diretorio fornecedores
DATAATUAL=$(date "+%d/%m/%Y %T")                                # data cadastro
SOMA=~/estok/soma.sum                                           # arquivo log soma 
SOMA2=~/estok/soma2.sum                                         # arquivo log soma 2 
SOMA3=~/estok/soma3.sum                                         # arquivo log soma 3
SOMAF=~/estok/somafinal.sum                                     # arquivo log soma final
VALORSOMAF=$"(<~/estok/soma2.sum)"                              # valor final da soma
LISTALOG=~/estok/logs/lista.list                                # arquivo lista.list utilizado em consulta de iténs
ENTRADALOG=~/estok/logs/entrada.log                             # log entrada
SAIDALOG=~/estok/logs/saida.log                                 # log saida
BUSCALOG=~/estok/logs/busca.log                                 # log busca
EXCLUIDOLOG=~/estok/logs/excluidos.log                          # log excluidos
ALTERADOLOG=~/estok/logs/alterados.log                          # log alterados
CADASTROPRODUTOLOG=~/estok/logs/cadastro_produtos.log           # log cadastrados
CADASTROCLIENTELOG=~/estok/logs/cadastro_cliente.log            # log clientes
CADASTROFORNECEDORLOG=~/estok/logs/cadastro_fornecedor.log      # log fornecedores
RELATORIOLOG=~/estok/logs/relatorio.log                         # log relatorio

#---> verificações

# diretorio estok existe ???
if [ -d $ESTOKDIR ];then
        sleep 1s ; 
else
        mkdir $ESTOKDIR      ; \
        mkdir $PRODUTODIR    ;  \
        mkdir $LOGDIR        ;   \
        mkdir $CLIENTEDIR    ;    \
        mkdir $FORNECEDORDIR ;     \
fi

#======================== Arrays COMEÇO ===================================
#---> arrays

#array cadastro produtos array 11 campos
CADASTROPRODUTO=("NOME:" "UNIDADE:" "CATEGORIA:" "FORNECEDOR:" "CODIGO:" "QUANTIDADE:" "ESTOQUE MINIMO:" "VALOR R$:" "CUSTO R$:" "DESCRIÇÃO:" "DATA:")

#array cadastro clientes array 19 campos
CADASTROCLIENTE=("CODIGO:" "NOME:" "DATA DE NASCIMENTO:" "SEXO:" "ENDEREÇO:" "BAIRRO" "NUMERO:" "COMPLEMENTO:" "CIDADE:" "UF:" "CEP:" "E-MAIL:" "FISICA/JURÍCA:" "CPF/CNPJ:" "RG:" "TELEFONE:" "CELULAR:" "INFORMAÇÕES ADICIONAIS:" "DATA:")

#array cadastro fornecedores array 23 campos
CADASTROFORNECEDOR=("CODIGO:" "NOME:" "NOME FANTASIA:" "RAZÃO SOCIAL:" "RAMO DE ATIVIDADE:" "ENDEREÇO:" "BAIRRO" "NUMERO:" "COMPLEMENTO:" "CIDADE:" "UF:" "CEP:" "PAÍS:" "E-MAIL:" "SITE:" "FISICA/JURÍCA:" "CPF/CNPJ:" "INSCRIÇÃO ESTADUAL:" "TELEFONE-1:" "TELEFONE-2" "CELULAR:" "INFORMAÇÕES ADICIONAIS:" "DATA:")
 
#======================== Arrays FIM =====================================
#---> funções

trocavirgula(){
cd $PRODUTODIR 2>>/dev/null ; 
sed -i 's/,/./g' *.prod 2>>/dev/null ;
}

# função: deseja continuar ???
perguntacontinuar () {
    while true; do                                                                                                                              
        read -e -p "(s/n)?:  $1" sn
        case $sn in
            [Ss]* ) 
                   sleep 1 ; 
                   return 0 ;
                ;;  
            [Nn]* ) 
                   menu ; 
                   return 1 ; 
                ;;  
                * ) 
                  echo "Entre com (s/n)" ;
                ;;  
        esac
    done 
}

#======================== FUNÇÃO: listas COMEÇO ==========================

# funçao: ver lista produtos???
verlistaproduto () {
    while true; do
        read -e -p "Deseja visualizar lista de produtos (s/n)?:  $1" sn
        case $sn in
            [Ss]* ) 
                   ls $PRODUTODIR | sed -e "s/\.prod$//" | less -i ;
                   read -rsn1 -p "Pressione ENTER para voltar ao menu" ;
                   menu ;
                   return 0 ; 
                ;;  
            [Nn]* ) 
                   menu ;
                   return 1 ;
                ;;  
                * ) 
                  echo "Entre com (s/n)" ;
                ;;  
        esac
    done
}

# funçao: ver lista clientes ???
verlistacliente () {
    while true; do
        read -e -p "Deseja visualizar lista de clientes (s/n)?:  $1" sn
        case $sn in
            [Ss]* ) 
                   ls $CLIENTEDIR | sed -e "s/\.cli$//" | less -i ;
                   read -rsn1 -p "Pressione ENTER para voltar ao menu" ;
                   menu ;
                   return 0 ; 
                ;;  
            [Nn]* ) 
                   menu ;
                   return 1 ; 
                ;;  
                * ) 
                  echo "Entre com (s/n)" ;
                ;;  
        esac
    done
}

# funçao: ver lista fornecedor ???
verlistafornecedor () {
    while true; do
        read -e -p "Deseja visualizar lista de fornecedores (s/n)?:  $1" sn
        case $sn in
            [Ss]* ) 
                   ls $FORNECEDORDIR | sed -e "s/\.for$//" | less -i ;
                   read -rsn1 -p "Pressione ENTER para voltar ao menu" ;
                   menu ;
                   return 0 ; 
                ;;  
            [Nn]* ) 
                   menu ;
                   return 1 ; 
                ;;  
                * ) 
                  echo "Entre com (s/n)" ;
                ;;  
        esac
    done
}
#======================== FUNÇÃO: lista FIM  ===============================

# funçao: deleta arquivos de soma
deletasoma() {

        cd $ESTOKDIR 2>>/dev/null ; 
        rm -r $SOMA 2>>/dev/null ;
        rm -r $SOMA2 2>>/dev/null;
        rm -r $SOMA3 2>>/dev/null;
        rm -r $SOMAF 2>>/dev/null ;

}


#======================== Cadastro COMEÇO ==================================

cadastrofornecedor(){
      echo
      echo "------------------------------" 
      echo "*** Cadastro de fornecedor ***" ;
      echo "------------------------------"      
      cd $FORNECEDORDIR ;                                               # entra no diretorio fornecedor 
      read -e -p "Digite o nome do fornecedor: " "nomefornecedor" ;     # pega nome fornecedor
      
      [ -z "$nomefornecedor" ] && menu ;                                # se variavel é nula volta ao menu 
      if [ -e "$nomefornecedor.for" ]; then                             # testa se fornecedor existe

      echo "Cliente "$nomefornecedor" já existe" ;                      # se fornecedor existe                                                                           
      echo "Deseja continuar?"  
      perguntacontinuar ;                                               # pergunta se deseja continuar 
      
      fi
      
      read -e -p "Codigo: " codigo ;                                    # se existe e você deu ( sim ) continua formulario
      read -e -p "Nome fantasia: " nomefantasia ;
      read -e -p "Razão social: " razaosocial ;
      read -e -p "Ramo de atividade: " ramoatividade ;
      read -e -p "Endereço: " endereco ;
      read -e -p "Bairro: " bairro ;
      read -e -p "Numero: " numero ;
      read -e -p "Complemento: " complemento ;
      read -e -p "Cidade: " cidade ;
      read -e -p "UF: " uf ;
      read -e -p "CEP: " cep ;
      read -e -p "País: " pais ;
      read -e -p "E-mail: " email ;
      read -e -p "Site: " site ;
      read -e -p "Física/Jurídica: " fisicajuridica ;
      read -e -p "CPF/CNPJ: " cpfcnpj ;
      read -e -p "Inscrição estadual: " inscricaoestadual ;
      read -e -p "Telefone-1: " telefone1 ;
      read -e -p "Telefone-2: " telefone2 ;
      read -e -p "Celular: " celular ;
      read -e -p "Informações adicionais: " informacoes ;
      echo "Deseja gravar dados?" ;
      perguntacontinuar ;                                               # pergunta se deseja gravar dados 
      echo "------------------------------" >> "$nomefornecedor.for" ;  # gera arquivo com nome em diretorio fornecedores  e gera log
      echo ${CADASTROFORNECEDOR[0]} "$codigo" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[1]} "$nomefornecedor" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[2]} "$nomefantasia" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[3]} "$razaosocial" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[4]} "$ramoatividade" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[5]} "$endereco" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[6]} "$bairro" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[7]} "$numero" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[8]} "$complemento" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[9]} "$cidade" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[10]} "$uf" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[11]} "$cep" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[12]} "$pais" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[13]} "$email" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[14]} "$site" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[15]} "$fisicajuridica" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[16]} "$cpfcpnj" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[17]} "$inscricaoestadual" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[18]} "$telefone1" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[19]} "$telefone2" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[20]} "$celular" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[21]} "$informacoes" >> "$nomefornecedor.for" ;
      echo ${CADASTROFORNECEDOR[22]} "$DATAATUAL" >> "$nomefornecedor.for" ;
      echo "------------------------------" >> "$nomefornecedor.for" ;
      echo "******" >> $CADASTROFORNECEDORLOG ;
      echo "NOME:" "$nomefornecedor.for"  >> $CADASTROFORNECEDORLOG ;
      echo "CODIGO:" "$codigo" >> $CADASTROFORNECEDORLOG ;
      echo "Data de cadastro:" "$DATAATUAL" >> $CADASTROFORNECEDORLOG  ;
      echo "******" >> $CADASTROFORNECEDORLOG ;
      less -iC "$nomefornecedor.for"  ;                                 # Abre less e lê arquivo criado
      echo "------------------------------" ;
      read -rsn1 -p "Pressione ENTER para continuar" ;
      echo "------------------------------" ;
}


cadastrocliente() {
      echo
      echo "------------------------------" 
      echo " *** Cadastro de cliente ***" ;
      echo "------------------------------"      
      cd $CLIENTEDIR ;                                                  # entra no diretorio cliente
      read -e -p "Digite o nome do cliente: " "nomecliente" ;           # pega nome cliente
      
      [ -z "$nomecliente" ] && menu ;               # se variavel é nula volta ao menu
      if [ -e "$nomecliente.cli" ]; then                                # testa se cliente existe

      echo "Cliente "$nomecliente" já existe" ;                         # se cliente existe                                                                           
      echo "Deseja continuar?"  
      perguntacontinuar ;                                               # pergunta se deseja continuar
      
      fi

      read -e -p "Codigo: " codigo ;                                    # se existe e você deu ( sim ) continua formulario
      read -e -p "Data de nascimento: " datanascimento ;
      read -e -p "Sexo: " sexo ;
      read -e -p "Endereço: " endereco ;
      read -e -p "Bairro: " bairro ;
      read -e -p "Numero: " numero ;
      read -e -p "Complemento: " complemento ;
      read -e -p "Cidade: " cidade ;
      read -e -p "UF: " uf ;
      read -e -p "CEP: " cep ;
      read -e -p "E-mail: " email ;
      read -e -p "Física/Jurídica: " fiscajuridica ;
      read -e -p "CPF/CNPJ: " cpfcnpj ;
      read -e -p "RG: " rg ;
      read -e -p "Telefone: " telefone ;
      read -e -p "Celular: " celular ;
      read -e -p "Informações adicionais: " informacoes ;
      echo "Deseja gravar dados?" ;
      perguntacontinuar ;                                               # pergunta se deseja gravar dados
      echo "------------------------------" >> "$nomecliente.cli" ;     # gera arquivo com nome em diretorio clientes e gera log
      echo ${CADASTROCLIENTE[0]} "$codigo" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[1]} "$nomecliente" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[2]} "$datanascimento" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[3]} "$sexo" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[4]} "$endereco" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[5]} "$bairro" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[6]} "$numero" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[7]} "$complemento" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[8]} "$cidade" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[9]} "$uf" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[10]} "$cep" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[11]} "$email" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[12]} "$fisicajuridica" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[13]} "$cpfcnpj" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[14]} "$rg" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[15]} "$telefone" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[16]} "$celular" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[17]} "$informacoes" >> "$nomecliente.cli" ;
      echo ${CADASTROCLIENTE[18]} "$DATAATUAL" >> "$nomecliente.cli" ;
      echo "------------------------------" >> "$nomecliente.cli" ;
      echo "******" >> $CADASTROCLIENTELOG ;
      echo "NOME:" "$nomecliente.cli" >> $CADASTROCLIENTELOG ;
      echo "CODIGO:" "$codigo" >> $CADASTROCLIENTELOG  ;
      echo "Data de cadastro:" "$DATAATUAL" >> $CADASTROCLIENTELOG  ;
      echo "******" >> $CADASTROCLIENTELOG ;
      less -iC "$nomecliente.cli" ;                                     # Abre less e lê arquivo criado
      echo "------------------------------" ;
      read -rsn1 -p "Pressione ENTER para continuar" ;
      echo "------------------------------" ;
}


cadastroproduto(){                                              # submenu produto
      echo
      echo "------------------------------" ;
      echo " *** Cadastro de produto ***"   ;
      echo "------------------------------" ;                                                                                                   
      cd $PRODUTODIR ;                                          # entra no diretorio produtos
      read -e -p "Nome do produto: " nomeproduto ;              # pega nome do produto
      
      [ -z "$nomeproduto" ] && menu ;                           # se variavel é nula volta ao menu  
      if [ -f "$nomeproduto".prod ];then                        # verifica se produto existe

      echo "Produto "$nomeproduto" já existe" ;                 # se produto existe
      echo "Deseja continuar?"  
      perguntacontinuar ;                                       # pergunta se deseja continuar
      
      fi
      
      read -e -p "Unidade: " unidade ;                          # se existe e você deu ( sim ) continua formulario
      read -e -p "Categoria: " categoria ;
      read -e -p "Fornecedor: " fornecedor ;
      read -e -p "Codigo: " codigo ;
      read -e -p "Quantidade: " quantidade ;
      read -e -p "Estoque minimo: " estoqueminimo ;
      read -e -p "Valor R$: " valor ;
      read -e -p "Custo R$: " custo ;
      read -e -p "Descrição: " descricao ;
      echo "Deseja gravar dados?" ;
      perguntacontinuar ;                                                # pergunta se deseja gravar dados
      echo "------------------------------" >> "$nomeproduto.prod" ;     # gera arquivo com nome em diretorio produtos e envia dados
      echo ${CADASTROPRODUTO[0]} "$nomeproduto" >> "$nomeproduto.prod" ;
      echo ${CADASTROPRODUTO[1]} "$unidade" >> "$nomeproduto.prod" ;
      echo ${CADASTROPRODUTO[2]} "$categoria" >> "$nomeproduto.prod" ;
      echo ${CADASTROPRODUTO[3]} "$fornecedor" >> "$nomeproduto.prod" ;
      echo ${CADASTROPRODUTO[4]} "$codigo" >> "$nomeproduto.prod" ;
      echo ${CADASTROPRODUTO[5]} "$quantidade" >> "$nomeproduto.prod" ;
      echo ${CADASTROPRODUTO[6]} "$estoqueminimo" >> "$nomeproduto.prod" ;
      echo ${CADASTROPRODUTO[7]} "$valor" >> "$nomeproduto.prod" ;
      echo ${CADASTROPRODUTO[8]} "$custo" >> "$nomeproduto.prod" ;
      echo ${CADASTROPRODUTO[9]} "$descricao" >> "$nomeproduto.prod" ;
      echo ${CADASTROPRODUTO[10]} "$DATAATUAL" >> "$nomeproduto.prod" ;
      echo "------------------------------" >> "$nomeproduto.prod" ;
      echo "******" >> $CADASTROPRODUTOLOG ;
      echo "Produto:" "$nomeproduto.prod" >> $CADASTROPRODUTOLOG ;
      echo "Quantidade:" "$quantidade" >> $CADASTROPRODUTOLOG ;
      echo "Data de cadastro:" "$DATAATUAL" >> $CADASTROPRODUTOLOG ;
      echo "******" >> $CADASTROPRODUTOLOG ;
      trocavirgula ;
      less -iC "$nomeproduto.prod" ;                                     # Abre less e lê arquivo criado
      echo "------------------------------" ;
      read -rsn1 -p "Pressione ENTER para continuar" ;
      echo "------------------------------" ;


}


# função: opção menu cadastro
opcaocadastro() {
      echo
      echo "------------------------------" ;
      echo "      *** Cadastro ***"        ;
      echo "------------------------------" ;
      read -e -p "Produto [P] Cliente [C] Fornecedor [F] " CADASTRO ;
      case "$CADASTRO" in
      [Pp]*) cadastroproduto ;;
      [Cc]*) cadastrocliente ;;
      [Ff]*) cadastrofornecedor ;;
         *)  echo "Opção Inválida" 
             echo "------------------------------" ;
             read -rsn1 -p "Pressione ENTER para continuar" ;
             echo "------------------------------" ; ;;
      esac
}

#======================== Cadastro FIM ===================================


#======================== Entrada/Saída COMEÇO ===========================
entrada(){
      echo
      echo "------------------------------" ;
      echo "   *** Entrada ***" ;
      echo "------------------------------" ;
      cd $PRODUTODIR ;                                                  # entra no diretorio produtos
      read -e -p "Digite o nome do produto: " "nomeentrada" ;           # pega nome produto entrada

      [ -z "$nomeentrada" ] && menu ;                                   # se variavel é nula volta ao menu  
      if [ -e "$nomeentrada.prod" ]; then                               # testa se produto existe ou não

      sed -n "2p" "$nomeentrada".prod ;                                 # mostra segunda linha arquivo produto
      sed -n "7p" "$nomeentrada".prod ;                                 # mostra sexta linha do arquivo produto
      sed -n -e "s/^.*QUANTIDADE: //p" "$nomeentrada".prod >> $SOMA ;   # envia quantidade do .prod para soma.sum 
      read -p  "Digite a quantidade para entrada: " "quantentrada" ;    # pega valor digitado
      echo "$quantentrada" >> $SOMA ;                                   # cria soma.sum com valor digitado
      paste -sd+ $SOMA | bc >> "$SOMA2" ;                               # soma arquivos soma.sum e soma2.sum
      sleep 1 ;                                                         # Pausa
      VALORF=`cat $SOMA2` ; sed -i "s/\(QUANTIDADE:\).*/\1 ${VALORF}/" "$nomeentrada".prod ; # grava soma
      sed -n "2p" "$nomeentrada".prod ;                                 # mostra segunda linha arquivo produto
      sed -n "7p" "$nomeentrada".prod ;                                 # mostra sexta linha do arquivo produto
      echo "******" >> $ENTRADALOG ;                                    # adiciona linha no log entrada
      echo "Produto:" "$nomeentrada".prod >> $ENTRADALOG ;              # adiciona nome do produto log entrada
      echo "Quantidade de entrada:" "$quantentrada" >> $ENTRADALOG ; # envia quantidade de entrada para log
      read -p "Data de entrada: " "dataentrada" ;                       # pega data entrada
      echo "Data de entrada:" "$dataentrada" >> $ENTRADALOG ;           # adiciona [Data] ao log entrada
      read -p "Fornecedor: " "fornecedorentrada" ;                      # pega fornecedor
      echo "Fornecedor:" "$fornecedorentrada" >> $ENTRADALOG ;          # adiciona [Fornecedor] ao log entrada
      echo "******" >> $ENTRADALOG ;                                    # adiciona linha log entrada
      read -rsn1 -p "Pressione ENTER para continuar" ;                  # enter para voltar ao menu
      deletasoma 2>>/dev/null ; 
      menu ;
      
      else                                                              # produto entrada não existe
      echo "Produto "$nomeentrada" não existe"
      verlistaproduto ; 
      
      fi
}

saida(){
      echo
      echo "------------------------------" 
      echo "   *** Saída ***" ;
      echo "------------------------------"      
      cd $PRODUTODIR ;                                                  # entra no diretorio produtos
      read -e -p "Digite o nome do produto: " "nomesaida" ;             # pega nome produto saida
      
      [ -z "$nomesaida" ] && menu ;                                     # se variavel é nula volta ao menu  
      if [ -e "$nomesaida.prod" ]; then                                 # testa se produto existe ou não

      sed -n "2p" "$nomesaida".prod ;                                   # mostra segunda linha arquivo produto
      sed -n "7p" "$nomesaida".prod ;                                   # mostra sexta linha do arquivo produto
      sed -n -e "s/^.*QUANTIDADE: //p" "$nomesaida".prod >> $SOMA ;     # envia quantidade do .prod para soma.sum
      read -p  "Digite a quantidade para saída: " "quantsaida" ;        # pega valor digitado
      echo "$quantsaida" >> $SOMA ;                                     # cria soma.sum com valor digitado
      paste -sd- $SOMA | bc >> "$SOMA2" ;
      sleep 1 ;                                                         # Pausa
      VALORF=`cat $SOMA2` ; sed -i "s/\(QUANTIDADE:\).*/\1 ${VALORF}/" "$nomesaida".prod ; # grava soma
      sed -n "2p" "$nomesaida".prod ;                                   # mostra segunda linha arquivo produto
      sed -n "7p" "$nomesaida".prod ;                                   # mostra sexta linha do arquivo produto
      echo "******" >> $SAIDALOG ;
      echo "Produto:" "$nomesaida".prod >> $SAIDALOG ;                  # adiciona nome do produto log saida
      echo "Quantidade de saída:" "$quantsaida" >> $SAIDALOG ;          # envia quantidade de saida para log
      read -p "Data de saída: " "datasaida" ;                           # pega nome data saida
      echo "Data de saída:" "$datasaida" >> $SAIDALOG ;                 # adiciona [Data] ao log saida
      read -p "Destino/Cliente: " "descli" ;                            # pega fornecedor
      echo "Destino/Cliente:" "$descli" >> $SAIDALOG ;                  # adiciona [Destino/Cliente] ao log saida
      echo "******" >> $SAIDALOG ;                                                                                                                                                       
      read -rsn1 -p "Pressione ENTER para continuar" ;                  # enter para voltar ao menu
      deletasoma 2>>/dev/null ; 
      menu ;       
      
      else                                                              # produto saida nao existe
      echo  "Arquivo "$nomesaida".prod não existe" ;
      verlistaproduto ; 
      menu ;
      
      fi

}

# função: opção menu entrada/saída
opcaoentradasaida(){
      read -e -p "Entrada [E] Saída [S] " ENTRADASAIDA ;                
      case "$ENTRADASAIDA" in
      [Ee]*) entrada           ;;
      [Ss]*) saida             ;;
      *) echo "Opção Inválida"
      echo "------------------------------" ;
      read -rsn1 -p "Pressione ENTER para continuar" ;
      echo "------------------------------" ; ;;
      esac
}

#======================== Entrada/Saída FIM ============================== 

#======================== Consulta Itens COMEÇO ==========================
consultaproduto(){
      cd $PRODUTODIR ;
      echo "------------------------------" ;
      echo "  *** Consultar produtos ***" ;
      echo "------------------------------" ;                                                                                                                                            
      cat $PRODUTODIR/*.prod > $LISTALOG ;                              # cria lista todo conteúdo arquivos .prod
      echo "Quantidade total de iténs:" `ls -l *.prod | wc -l` >> $LISTALOG ; # Conta todos os arquivos .prod
      less -iC $LISTALOG ;
}

consultacliente(){
      cd $CLIENTEDIR ;
      echo "------------------------------" ;
      echo "  *** Consultar clientes ***" ;
      echo "------------------------------" ;
      cat $CLIENTEDIR/*.cli > $LISTALOG ;                               # cria lista todo conteúdo arquivos .prod
      echo "Quantidade total de iténs:" `ls -l *.cli | wc -l` >> $LISTALOG ; # Conta todos os arquivos .cli
      less -iC $LISTALOG ;

}

consultafornecedor(){
      cd $FORNECEDORDIR ;
      echo "------------------------------" ;
      echo "  *** Consultar clientes ***" ;
      echo "------------------------------" ;
      $(cat $FORNECEDORDIR/*.for > $LISTALOG) ;                         # cria lista todo conteúdo arquivos .prod
      echo "Quantidade total de iténs:" `ls -l *.for | wc -l` >> $LISTALOG ; # Conta todos os arquivos .for
      less -iC $LISTALOG ;                                                     
}

opcaoconsultaritens(){
      echo
      echo "------------------------------" ;
      echo "       *** Consultar itens ***"        ;
      echo "------------------------------" ;
      read -e -p "Produto [P] Cliente [C] Fornecedor [F] " CONSULTA ;
      case "$CONSULTA" in
      [Pp]*) consultaproduto       ;;
      [Cc]*) consultacliente       ;;
      [Ff]*) consultafornecedor    ;;
          *) echo "Opção Inválida" 
             echo "------------------------------" ;
             read -rsn1 -p "Pressione ENTER para continuar" ;
             echo "------------------------------" ; ;;
      esac
}

#======================== Consulta Itens FIM  ============================

#======================== Busca COMEÇO ===================================

buscaproduto(){
      echo
      echo "------------------------------" ;
      echo "    *** Busca produto ***"   ;
      echo "------------------------------" ;
      cd $PRODUTODIR ;                                                  # entra no diretorio produtos
      read -e -p "Nome do produto: " buscaproduto ;                     # pega nome do produto 
      rm -r $BUSCALOG 2>>/dev/null ;    
      read -p "Buscar: " "buscaconteudo" ;                              # pega segundo nome da busca
      echo "" > $BUSCALOG ;                                             # apaga todo conteudo anterior da busca
      echo "*** Resultados ***" >> $BUSCALOG ;                          # envia resultados para BUSCALOG
      echo "--------------------------" >> $BUSCALOG ;    
      echo "--- Itens relacionados ---" >> $BUSCALOG ;
      grep -EiRl "$buscaproduto|$buscaconteudo" *.prod 2>>/dev/null | sed 's/\.prod//g' >> $BUSCALOG 2>>/dev/null ; # busca palavra nos arquivos .pr    od
      echo "--------------------------" >> $BUSCALOG ;
      grep -Ei "$buscaproduto|$buscaconteudo" *.prod >> $BUSCALOG 2>>/dev/null  ; # busca palavra nos arquivos .prod
      less -i $BUSCALOG    
      echo "------------------------------" ;
      read -rsn1 -p "Pressione ENTER para continuar" ;
      echo "------------------------------" ;

}

buscacliente(){
      echo
      echo "------------------------------" ;
      echo "    *** Busca cliente ***"   ;
      echo "------------------------------" ;
      cd $CLIENTEDIR ;                                                  # entra no diretorio produtos
      read -e -p "Nome do cliente: " buscacliente ;                     # pega nome do cliente 
      rm -r $BUSCALOG 2>>/dev/null ;    
      read -p "Buscar: " "buscaconteudo" ;                              # pega segundo nome da busca
      echo "" > $BUSCALOG ;                                             # apaga todo conteudo anterior da busca
      echo "*** Resultados ***" >> $BUSCALOG ;                          # envia resultados para BUSCALOG
      echo "--------------------------" >> $BUSCALOG ;    
      echo "--- Itens relacionados ---" >> $BUSCALOG ;
      grep -EiRl "$buscacliente|$buscaconteudo" *.cli 2>>/dev/null | sed 's/\.cli//g' >> $BUSCALOG 2>>/dev/null ; # busca palavra nos arquivos .cli
      echo "--------------------------" >> $BUSCALOG ;
      $(grep -Ei "$buscacliente|$buscaconteudo" *.cli >> $BUSCALOG 2>>/dev/null)  ; # busca palavra nos arquivos .cli
      less -i $BUSCALOG    
      echo "------------------------------" ;
      read -rsn1 -p "Pressione ENTER para continuar" ;
      echo "------------------------------" ;
}


buscafornecedor(){
      echo
      echo "------------------------------" ;
      echo "   *** Busca fornecedor ***"   ;
      echo "------------------------------" ;
      cd $FORNECEDORDIR ;                                               # entra no diretorio fornecedor
      read -e -p "Nome do cliente: " buscafornecedor ;                  # pega nome do fornecedor                       
      rm -r $BUSCALOG 2>>/dev/null ;    
      read -p "Buscar: " "buscaconteudo" ;                              # pega segundo nome da busca
      echo "" > $BUSCALOG ;                                             # apaga todo conteudo anterior da busca
      echo "*** Resultados ***" >> $BUSCALOG ;                          # envia resultados para BUSCALOG
      echo "--------------------------" >> $BUSCALOG ;    
      echo "--- Itens relacionados ---" >> $BUSCALOG ;
     $(grep -EiRl "$buscafornecedor|$buscaconteudo" *.for 2>>/dev/null | sed 's/\.for//g' >> $BUSCALOG 2>>/dev/null) ; # busca palavra nos arquivos .for
      echo "--------------------------" >> $BUSCALOG ;
      $(grep -Ei "$buscafornecedor|$buscaconteudo" *.for >> $BUSCALOG 2>>/dev/null)  ; # busca palavra nos arquivos .for
      less -i $BUSCALOG    
      echo "------------------------------" ;
      read -rsn1 -p "Pressione ENTER para continuar" ;
      echo "------------------------------" ;
}
opcaobusca(){
      echo
      echo "------------------------------" ;                                                                                                                                            
      echo "       *** Busca ***"        ;
      echo "------------------------------" ;
      read -e -p "Produto [P] Cliente [C] Fornecedor [F] " BUSCA ;    
      case "$BUSCA" in
      [Pp]*) buscaproduto    ;;
      [Cc]*) buscacliente    ;;
      [Ff]*) buscafornecedor ;;
          *) echo "Opção Inválida" 
             echo "------------------------------" ;
             read -rsn1 -p "Pressione ENTER para continuar" ;
             echo "------------------------------" ; ;;
      esac
}

#======================== Busca FIM ======================================

#======================== Altera COMEÇO ==================================

alterafornecedor(){
      cd $FORNECEDORDIR
      echo "------------------------------" ;                      
      echo "   *** Alterar Fornecedor ***" ;
      echo "------------------------------" ;
      read -e -p "Digite o nome do cliente: " "alterafornecedor" ;      # pega nome do arquivo 

      [ -z "$alterafornecedor" ] && menu ;                              # se variavel é nula volta ao menu  

      if [ -e "$alterafornecedor.for" ]; then

      echo "Deseja alterar "$alterafornecedor"? " ;
      perguntacontinuar ; 
      cat "$alterafornecedor.for" ;                                     # mostra conteudo do arquivo
      read -p "Digite o campo que deseja alterar: " "altera1" ;         # pega palavra para alterar
      read -p "Digite o valor antigo: " "altera2" ;                     # pega segunda palavra para alterar
      read -p "Digite o novo valor: " "altera3" ;                       # pega terceira palavra para alterar
      sed -e '/'"${altera1^^}"'/ s/'"$altera2"'/'"$altera3"'/' "$alterafornecedor.for" > output.altera ; # gera output com alterações
      cat output.altera ;                                               # mostra conteudo output 
      echo "Deseja salvar alteração?"
      perguntacontinuar
      cat output.altera > "$alterafornecedor.for"
      rm -r output.altera ;                                             # apaga output
      echo "******" >> $ALTERADOLOG ;                                   # log Alterados
      echo "Produto:" "$alterafornecedor.for" >> $ALTERADOLOG ;            # log Alterados
      echo "******" >> $ALTERADOLOG ;                                   # log Alterados
              
      else
      echo  "Arquivo "$alterafornecedor" não existe" ;                
      verlistafornecedor ;
      
      fi
}

alteracliente(){
      cd $CLIENTEDIR
      echo "------------------------------" ;                      
      echo "   *** Alterar Cliente ***" ;
      echo "------------------------------" ;
      read -e -p "Digite o nome do cliente: " "alteracliente" ;         # pega nome do arquivo 

      [ -z "$alteracliente" ] && menu ;                                 # se variavel é nula volta ao menu  

      if [ -e "$alteracliente.cli" ]; then

      echo "Deseja alterar $alteracliente? " ;
      perguntacontinuar ; 
      cat "$alteracliente.cli" ;                                        # mostra conteudo do arquivo
      read -p "Digite o campo que deseja alterar: " "altera1" ;         # pega palavra para alterar
      read -p "Digite o valor antigo: " "altera2" ;                     # pega segunda palavra para alterar
      read -p "Digite o novo valor: " "altera3" ;                       # pega terceira palavra para alterar
      sed -e '/'"${altera1^^}"'/ s/'"$altera2"'/'"$altera3"'/' "$alteracliente.cli" > output.altera ; # gera output com alterações
      cat output.altera ;                                               # mostra conteudo output 
      echo "Deseja salvar alteração?"
      perguntacontinuar
      cat output.altera > "$alteracliente.cli"
      rm -r output.altera ;                                             # apaga output
      echo "******" >> $ALTERADOLOG ;                                   # log Alterados
      echo "Produto:" "$alteracliente.cli" >> $ALTERADOLOG ;            # log Alterados
      echo "******" >> $ALTERADOLOG ;                                   # log Alterados
              
      else
      echo  "Arquivo "$alteracliente" não existe" ;
      verlistacliente ;                                                                                                                         
          
      fi 
}


alteraproduto(){
      cd $PRODUTODIR
      echo "------------------------------" ;                  
      echo "   *** Alterar Produto ***" ;
      echo "------------------------------" ;
      read -e -p "Digite o nome do produto: " "alteraproduto" ;         # pega nome do arquivo 

      [ -z "$alteraproduto" ] && menu ;                                 # se variavel é nula volta ao menu  

      if [ -e "$alteraproduto.prod" ]; then

      echo "Deseja alterar $alteraproduto? " ;
      perguntacontinuar ; 
      cat "$alteraproduto.prod" ;                                       # mostra conteudo do arquivo
      read -p "Digite o campo que deseja alterar: " "altera1" ;         # pega palavra para alterar
      read -p "Digite o valor antigo: " "altera2" ;                     # pega segunda palavra para alterar
      read -p "Digite o novo valor: " "altera3" ;                       # pega terceira palavra para alterar
      sed -e '/'"${altera1^^}"'/ s/'"$altera2"'/'"$altera3"'/' "$alteraproduto.prod" > output.altera ; # gera output com alterações
      cat output.altera ;                                               # mostra conteudo output 
      echo "Deseja salvar alteração?"
      perguntacontinuar
      cat output.altera > "$alteraproduto.prod"
      rm -r output.altera ;                                             # apaga output
      echo "******" >> $ALTERADOLOG ;                                   # log Alterados
      echo "Produto:" "$alteraproduto.prod" >> $ALTERADOLOG ;           # log Alterados
      echo "******" >> $ALTERADOLOG ;                                   # log Alterados
          
      else
      echo  "Arquivo "$alteraproduto" não existe" ;
      verlistaproduto ;
      
      fi
}

opcaoaltera(){
      echo
      echo "------------------------------" ;
      echo "       *** Alterar ***"        ;
      echo "------------------------------" ;
      read -e -p "Produto [P] Cliente [C] Fornecedor [F] " ALTERA ;    
      case "$ALTERA" in
      [Pp]*) alteraproduto    ;;
      [Cc]*) alteracliente    ;;
      [Ff]*) alterafornecedor ;;
          *) echo "Opção Inválida" 
             echo "------------------------------" ;
             read -rsn1 -p "Pressione ENTER para continuar" ;
             echo "------------------------------" ; ;;
      esac
}

#======================== Altera FIM ====================================== 

#======================== Relatorio COMEÇO ================================   
opcaorelatorio(){
      echo "------------------------------" ;
      echo "   *** Relatorio ***" ;
      echo "------------------------------" ;
      cd $PRODUTODIR
      echo "" > $RELATORIOLOG ;                                         # apaga dados relatorio
      echo "Quantidade total de arquivos em $PRODUTODIR:" $(find -type f | wc -l) >> $RELATORIOLOG ;
      echo "Quantidade de produtos cadastrados:" $(sed s/.prod\b/.prod\n/g $CADASTROPRODUTOLOG 2>>/dev/null | grep ".prod\b" | wc -l ) >> $RELATORIOLOG ;
      echo "Quantidade total de clientes cadastrados:" $(sed s/.cli\b/.cli\n/g $CADASTROCLIENTELOG 2>>/dev/null | grep ".cli\b" | wc -l ) >> $RELATORIOLOG ;
      echo "Quantidade total de fornecedores cadastrados:" $(sed s/.for\b/.for\n/g $CADASTROFORNECEDORLOG 2>>/dev/null | grep ".for\b" | wc -l ) >> $RELATORIOLOG ;
      echo "Quantidade total de entrada:" $(sed s/.prod\b/.prod\n/g $ENTRADALOG 2>>/dev/null | grep ".prod\b" | wc -l ) >> $RELATORIOLOG ;
      echo "Quantidade total de saída:" $(sed s/.prod\b/.prod\n/g $SAIDALOG 2>>/dev/null | grep ".prod\b" | wc -l ) >> $RELATORIOLOG ;
      echo "Quantidade de produtos alterados:" $(sed s/.prod\b/.prod\n/g $ALTERADOLOG 2>>/dev/null | grep ".prod\b" | wc -l ) >> $RELATORIOLOG ;
      echo "Quantidade de clientes alterados:" $(sed s/.cli\b/.cli\n/g $ALTERADOLOG 2>>/dev/null | grep ".cli\b" | wc -l ) >> $RELATORIOLOG ;
      echo "Quantidade de fornecedores alterados:" $(sed s/.for\b/.for\n/g $ALTERADOLOG 2>>/dev/null | grep ".for\b" | wc -l ) >> $RELATORIOLOG ;
      echo "Quantidade de produtos excluidos:" $(sed s/.prod\b/.prod\n/g $EXCLUIDOLOG 2>>/dev/null | grep ".prod\b" | wc -l ) >> $RELATORIOLOG ;
      echo "Quantidade de clientes excluidos:" $(sed s/.cli\b/.cli\n/g $EXCLUIDOLOG 2>>/dev/null | grep ".cli\b" | wc -l ) >> $RELATORIOLOG ;
      echo "Quantidade de fornecedores excluidos:" $(sed s/.for\b/.for\n/g $EXCLUIDOLOG 2>>/dev/null | grep ".for\b" | wc -l ) >> $RELATORIOLOG ;
      deletasoma 2>>/dev/null ;
      cd $PRODUTODIR ;                        
      sed -n -e 's/^.*QUANTIDADE: //p' *.prod >> $SOMA ; paste -sd+ $SOMA | bc >> $SOMAF ;
      echo "Quantidade total de produtos:" $(cat $SOMAF) >> $RELATORIOLOG ;
      rm -r $SOMAF 2>>/dev/null
      sed -n -e 's/^.*VALOR R$: //p' *.prod >> $SOMA2 ; paste -sd+ $SOMA2 | bc >> $SOMAF ;
      echo "Soma de valor total unitario de cada produtos:" $(cat $SOMAF) >> $RELATORIOLOG ;
      rm -r $SOMAF 2>>/dev/null
      sed -n -e 's/^.*CUSTO R$: //p' *.prod >> $SOMA3 ; paste -sd+ $SOMA3 | bc >> $SOMAF ;
      echo "Soma de custo unitaria de cada produtos:" $(cat $SOMAF) >> $RELATORIOLOG ; 
      less -iC $RELATORIOLOG ;
      deletasoma 2>>/dev/null ;
}
#======================== Relatorio FIM ===================================


excluifornecedor(){
      cd $FORNECEDORDIR ;
      echo "------------------------------" ;
      echo "   *** Excluir Fornecedor ***" ;
      echo "------------------------------" ;
      read -e -p "Digite o nome do produto: " "nomeexcluir" ;

      [ -z "$nomeexcluir" ] && menu ;                                   # se variavel é nula volta ao menu  
     
      if [ -e "$nomeexcluir".for ]; then

      echo "Deseja excluir $nomeexcluir?" ;
      perguntacontinuar ;
      rm -r "$nomeexcluir.for" ;
      echo "******" >> $EXCLUIDOLOG ;                                   # log Excluidos
      echo "Produto:" "$nomeexcluir.for" >> $EXCLUIDOLOG ;              # log Excluidos
      echo "******" >> $EXCLUIDOLOG ;                                   # log Excluidos
      echo "Arquivo "$nomeexcluir" excluido com sucesso"
      read -rsn1 -p "Pressione ENTER para continuar" ;
      menu ;
      else
      echo  "Arquivo "$nomeexcluir" não existe" ;
      verlistafornecedor ;                                                                                                                               
      fi 
}

excluicliente(){
      cd $CLIENTEDIR ;
      echo "------------------------------" ;
      echo "   *** Excluir Cliente ***" ;
      echo "------------------------------" ;
      read -e -p "Digite o nome do produto: " "nomeexcluir" ;

      [ -z "$nomeexcluir" ] && menu ;                                   # se variavel é nula volta ao menu 

      if [ -e "$nomeexcluir".cli ]; then

      echo "Deseja excluir $nomeexcluir?" ;
      perguntacontinuar ;
      rm -r "$nomeexcluir.cli" ;
      echo "******" >> $EXCLUIDOLOG ;                                   # log Excluidos
      echo "Produto:" "$nomeexcluir.cli" >> $EXCLUIDOLOG ;             # log Excluidos
      echo "******" >> $EXCLUIDOLOG ;                                   # log Excluidos
      echo "Arquivo "$nomeexcluir" excluido com sucesso"
      read -rsn1 -p "Pressione ENTER para continuar" ;
      menu ;
      else
      echo  "Arquivo "$nomeexcluir" não existe" ;
      verlistacliente ;                                                                                                                              
      fi 
}

excluiproduto(){
      cd $PRODUTODIR ;
      echo "------------------------------" ;
      echo "   *** Excluir Produto ***" ;
      echo "------------------------------" ;
      read -e -p "Digite o nome do produto: " "nomeexcluir" ;

      [ -z "$nomeexcluir" ] && menu ;                                   # se variavel é nula volta ao menu 

      if [ -e "$nomeexcluir".prod ]; then

      echo "Deseja excluir $nomeexcluir?" ;
      perguntacontinuar ;
      rm -r "$nomeexcluir.prod" ;
      echo "******" >> $EXCLUIDOLOG ;                                   # log Excluidos
      echo "Produto:" "$nomeexcluir.prod" >> $EXCLUIDOLOG ;             # log Excluidos
      echo "******" >> $EXCLUIDOLOG ;                                   # log Excluidos
      echo "Arquivo "$nomeexcluir" excluido com sucesso"
      read -rsn1 -p "Pressione ENTER para continuar" ;
      menu ;
      else
      echo  "Arquivo "$nomeexcluir" não existe" ;
      verlistaproduto ;
      fi
}

opcaoexclui(){
      echo
      echo "------------------------------" ;
      echo "       *** Excluir ***"        ;                                                                                                                      
      echo "------------------------------" ;
      read -e -p "Produto [P] Cliente [C] Fornecedor [F] " EXCLUIR ;    
      case "$EXCLUIR" in
      [Pp]*) excluiproduto    ;;
      [Cc]*) excluicliente    ;;
      [Ff]*) excluifornecedor ;;
          *) echo "Opção Inválida" 
             echo "------------------------------" ;
             read -rsn1 -p "Pressione ENTER para continuar" ;
             echo "------------------------------" ; ;;
      esac

}

#======================== Excluir FIM =====================================   


#======================= Ajuda COMEÇO =====================================

opcaoajuda(){
      echo -e "
------------------------------
      *** Ajuda ***
------------------------------
-m  Menu
-c  Cadastro
-es Entrada/Saída
-i  Consultar itens
-b  Busca
-a  Altera
-r  Relatorio
-x  Excluir
-h  Ajuda
-v  Versão
------------------------------
 "
      read -rsn1 -p "Pressione ENTER para continuar" ;
      clear ;  
}

#========================= Ajuda FIM ====================================== 

#======================= Menu Principal COMEÇO  =========================== 
# função: menu principal
menu() {
while true $MENUPRINCIPAL != "menuloop"                                                    
   do

trocavirgula ;
clear ; 
cat<<EOF
==============================                                                                                                                                                           
Estok SH 1.2b
------------------------------
Entre com uma opção:

1 ) Cadastro         
2 ) Entrada/Saída
3 ) Consultar iténs                  
4 ) Buscar            
5 ) Alterar           
6 ) Relatório         
7 ) Excluir           
8 ) Ajuda             
Q ) Sair              
    
------------------------------
EOF
echo "Digite a opção desejada" 
read -e -p "Menu: " opcaomenu                                           # pega opção menu
echo "------------------------------"

case "$opcaomenu" in                                                    # variavel do menu para entar

    1)                                                              
     opcaocadastro       ;  ;;
    2)
     opcaoentradasaida   ;  ;;
    3) 
     opcaoconsultaritens ;  ;;
    4)
      opcaobusca         ;  ;;
    5)
     opcaoaltera         ;  ;;
    6)
     opcaorelatorio      ;  ;;
    7)
     opcaoexclui         ;  ;;
    8)
     opcaoajuda          ;  ;;
    Q|q)
      exit 0             ;  ;;

esac
done 
}

#======================= Menu Principal FIM  ==============================

#======================== Parametros COMEÇO =============================== 
# case: parametros
case $1 in
    "-m")
     menu                          ;    ;;  
    "-c") 
     opcaocadastro                 ;    ;;  
    "-es")  
     opcaoentradasaida             ;    ;;  
    "-i")  
     opcaoconsultaritens           ;    ;;  
    "-b")  
     opcaobusca                    ;    ;;  
    "-a")  
     opcaoaltera                   ;    ;;  
    "-r")  
     opcaorelatorio                ;    ;;  
    "-x")
     opcaoexclui                   ;    ;;
    "-h")
     opcaoajuda                    ;    ;;
    "-v")
     echo "Estok SH versão - 1.2b" ;    ;;
       *) echo -e "Opção inválida! \nentre com parametro -h para ajuda"
     exit 1                        ;    ;;  
esac
#======================== Parametros FIM  ================================= 

Scripts recomendados

Transforme a manpage e infopage em pdf e texto

httpd-rsync

Adicionando usuários

Adicionar usuarios em lote com senha padrao

Expect-Bash


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts