Estok SH 1.2b - Controle de Estoque em Shell Script

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

[ Hits: 2.393 ]

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

Enviar via FTP todos as pastas / sub-pastas e arquivos, a partir do diretorio de origem inclusive

Troca periódica de senhas para usuários

Backup diario rotativo MySQL + Backup semanal mantendo uma cópia local e remota

KDu2 - Script de correção do VMware

backup com scp


  

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