Ajuda um pouco urgente

1. Ajuda um pouco urgente

henrique - senai
henr1q

(usa Debian)

Enviado em 14/06/2018 - 19:44h

Boa noite a todos,

Estou com um script para entregar amanhã no curso que tem que contar 30 comandos diferentes de Linux, aprendi nesse último mês como programar em shell e até que foi ok.

Porém estou com um problema, eu criei meu script ok, toda vez que eu inicio alguma opção aparece o erro de que o comando não foi encontrado
./aeae.sh: linha 64: soma: comando não encontrado 

Tentei pesquisar mas não consegui achar especificamente o meu problema, perdão por recorrer aqui perdidamente.

O script é um menu principal com várias opções.

#!/bin/bash
clear
comeco()
{
echo "Bem vindo ao auxilio ao usuario!"
echo
read -p "Digite ok para iniciarmos" ok
if
[ $ok = ok ];
then
menu
else
echo "Comando invalido"
comeco
fi
}
menu()
{
while true $ok != "ok"
do
clear
echo
echo
echo
DATA=$(date)
echo "Bem vindo ao menu principal, hoje eh $DATA"
echo ""
echo "1) Duvidas? Consulte o Manuel!"
echo "2) Instalar um pacote"
echo "3) Verificar o uso do HD"
echo "4) Somar"
echo "5) Subtrair"
echo "6) Dividir"
echo "7) Multiplicar"
echo "8) Listar o diretorio atual"
echo "9) Criar um novo arquivo de texto"
echo "10) Detalhes sobre memoria RAM"
echo "11) Calendario"
echo "12) Abrir o gerenciador de arquivos"
echo "13) Exiba informacoes do sistema"
echo "14) Mostre a arquitetura do sistema operacional"
echo "15) Detalhes sobre a memoria RAM"
echo "16) Exibe o grupo do usuario atual"
echo "17) Informações sobre o processador"
echo "18) Lista de modulos instalados"
echo "19) Adicione um usuario"
echo "20) Delete um usuario"
echo "21) Desligar o computador forcadamente"
echo "22) Nao use essa opcao!"
echo "23) Finalizar"
echo ""

echo "Digite a opcao desejada:"
read ok
echo "Opcao informada ($ok)"
sleep 2
echo ""

case "$ok" in

1) manul ;;
2) pacote ;;
3) usohd ;;
4) soma ;;
5) sub ;;
6) divi ;;
7) multi ;;
8) dire ;;
9) text ;;
10) fr ;;
11) calendario ;;
12) geren ;;
13) sis ;;
14) uss ;;
15) ram ;;
16) atual ;;
17) proc ;;
18) mod ;;
19) add ;;
20) dele ;;
21) desli;;
22) troll;

esac

manul()
{
clear
echo "Ola! Sou o Manuel, que comando posso te auxiliar hoje?"
echo
read $manuel
echo "Pesquisando... Um momento"
sleep 5
echo
echo "Exibindo resultado"
sleep 1
man $manuel
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

pacote()
{
clear
echo "Informe o nome do pacote a ser instalado"
echo
read $pacote
echo
echo "Pesquisa iniciada"
sleep 1
echo
sudo apt-get install $pacote
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

usohd()
{
clear
echo "Sera mostrado o uso do HD"
echo
sleep 1
clear
df -h
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

soma()
{
clear
echo
echo -n "Digite um valor: "
read valor1
echo
echo
echo -n "Digite outro valor: "
read valor2
echo
echo
echo "Calculando..."
echo ...
sleep 1
echo ...
sleep 1
echo ...
linux=$((valor1+valor2))
echo "$valor1 + $valor2 = $linux"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

sub()
{
clear
echo
echo -n "Digite um valor: "
read valor1
echo
echo
echo -n "Digite outro valor: "
read valor2
echo
echo
echo "Calculando..."
echo ...
sleep 1
echo ...
sleep 1
echo ...
subtr=$((valor1-valor2))
echo "$valor1 - $valor2 = $subtr"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

divi()
{
clear
echo -n "Digite um valor:"
read valor1
echo
echo
echo -n "Digite outro valor:"
read valor2
echo
echo
echo "Calculando..."
echo ...
sleep 1
echo ...
sleep 1
echo ...
linus=$((valor1/valor2))
echo "$valor1 ÷ $valor2 = $linus"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

multi()
{
clear
echo
echo -n "Digite um valor: "
read valor1
echo
echo
echo -n "Digite outro valor: "
read valor2
echo
echo
echo "Calculando..."
echo ...
sleep 1
echo ...
sleep 1
echo ...
multipl=$((valor1*valor2))
echo "$valor1 × $valor2 = $multipl"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

dire()
{
clear
ddd=pwd
echo "Esse eh o diretorio atual: $ddd"
echo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

text()
{
clear
echo "Qual nome deseja dar ao seu arquivo de texto?"
read nome
touch $nome
echo
echo "Arquivo criado"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

fr()
{
clear
echo "Serao exibidos detalhes da memoria RAM!"
sleep 2
echo
cat /proc/meminfo
echo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

calendario()
{
clear
echo "Digite o ano para visualizar o calendario"
read calen
sleep 2
cal $calen
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

geren()
{
clear
echo "Sera iniciado o gerenciador de arquivos, aguarde!"
sleep 2
nautilus
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

sis()
{
clear
echo "Informacoes sendo carregadas, aguarde!"
echo
sleep 2
who
uname -a
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

uss()
{
clear
arq=arch
echo "A arquitetura eh a seguinte: $arq"
echo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

ram()
{
clear
echo "Dados da memoria RAM a seguir:"
echo
sleep 2
cat /proc/meminfo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

atual()
{
clear
usuario=whoiam
grupo=groups
echo "O usuario $usuario pertence aos seguintes grupos: $grupo"
echo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

proc()
{
clear
echo "Vamos exibir os dados do processador a seguir!"
sleep 2
cat /proc/cpuinfo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

mod()
{
clear
echo "Os modulos instalados sao os seguintes:"
sleep 2
lsmod
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

add()
{
clear

echo -n "Informe o nome do usuario: ";
read UNAME
echo -n "Informe o home do usuario: ";
read HDIR
useradd -b /$HDIR $UNAME
echo
clear
echo "O usuario foi criado, checando com o comando de listagem!"
echo
ls -la /home
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

dele()
{
echo -n "Entre com o login do usuario a deletar: "
read login
echo
echo "Mensagem do Sistema: "
echo
userdel $login
echo
echo
echo
echo "O usuario foi deletado!"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

desli()
{
echo "Isso vai desligar o computador, voce tem certeza? [S / N]"
read ctza
if [ ctza=S ]; then
halt
else
echo "Retornando ao menu anterior..."
fi
sleep 2
menu
}

troll()
{
clear
echo "Descubra o que esse comando faz!"
sleep 2
eject
sleep 2
echo "Ainda nao descobriu?"
eject -t
sleep 2
echo "Preste atencao no som"
sleep 2
eject
sleep 2
echo "O computador parece estar possuido"
eject -t
sleep 2
echo "Finalizando o sistema em emergencia"
sleep 1
eject
sleep 1
echo "Obrigado por utilizar meu script!"
eject -t
sleep 1
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}
done
}
clear
menu



  


2. Re: Ajuda um pouco urgente

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 14/06/2018 - 21:05h

henr1q escreveu:

Boa noite a todos,

Estou com um script para entregar amanhã no curso que tem que contar 30 comandos diferentes de Linux, aprendi nesse último mês como programar em shell e até que foi ok.

Porém estou com um problema, eu criei meu script ok, toda vez que eu inicio alguma opção aparece o erro de que o comando não foi encontrado
./aeae.sh: linha 64: soma: comando não encontrado 

Tentei pesquisar mas não consegui achar especificamente o meu problema, perdão por recorrer aqui perdidamente.

O script é um menu principal com várias opções.

#!/bin/bash
clear
comeco()
{
echo "Bem vindo ao auxilio ao usuario!"
echo
read -p "Digite ok para iniciarmos" ok
if
[ $ok = ok ];
then
menu
else
echo "Comando invalido"
comeco
fi
}
menu()
{
while true $ok != "ok"
do
clear
echo
echo
echo
DATA=$(date)
echo "Bem vindo ao menu principal, hoje eh $DATA"
echo ""
echo "1) Duvidas? Consulte o Manuel!"
echo "2) Instalar um pacote"
echo "3) Verificar o uso do HD"
echo "4) Somar"
echo "5) Subtrair"
echo "6) Dividir"
echo "7) Multiplicar"
echo "8) Listar o diretorio atual"
echo "9) Criar um novo arquivo de texto"
echo "10) Detalhes sobre memoria RAM"
echo "11) Calendario"
echo "12) Abrir o gerenciador de arquivos"
echo "13) Exiba informacoes do sistema"
echo "14) Mostre a arquitetura do sistema operacional"
echo "15) Detalhes sobre a memoria RAM"
echo "16) Exibe o grupo do usuario atual"
echo "17) Informações sobre o processador"
echo "18) Lista de modulos instalados"
echo "19) Adicione um usuario"
echo "20) Delete um usuario"
echo "21) Desligar o computador forcadamente"
echo "22) Nao use essa opcao!"
echo "23) Finalizar"
echo ""

echo "Digite a opcao desejada:"
read ok
echo "Opcao informada ($ok)"
sleep 2
echo ""

case "$ok" in

1) manul ;;
2) pacote ;;
3) usohd ;;
4) soma ;;
5) sub ;;
6) divi ;;
7) multi ;;
8) dire ;;
9) text ;;
10) fr ;;
11) calendario ;;
12) geren ;;
13) sis ;;
14) uss ;;
15) ram ;;
16) atual ;;
17) proc ;;
18) mod ;;
19) add ;;
20) dele ;;
21) desli;;
22) troll;

esac

manul()
{
clear
echo "Ola! Sou o Manuel, que comando posso te auxiliar hoje?"
echo
read $manuel
echo "Pesquisando... Um momento"
sleep 5
echo
echo "Exibindo resultado"
sleep 1
man $manuel
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

pacote()
{
clear
echo "Informe o nome do pacote a ser instalado"
echo
read $pacote
echo
echo "Pesquisa iniciada"
sleep 1
echo
sudo apt-get install $pacote
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

usohd()
{
clear
echo "Sera mostrado o uso do HD"
echo
sleep 1
clear
df -h
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

soma()
{
clear
echo
echo -n "Digite um valor: "
read valor1
echo
echo
echo -n "Digite outro valor: "
read valor2
echo
echo
echo "Calculando..."
echo ...
sleep 1
echo ...
sleep 1
echo ...
linux=$((valor1+valor2))
echo "$valor1 + $valor2 = $linux"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

sub()
{
clear
echo
echo -n "Digite um valor: "
read valor1
echo
echo
echo -n "Digite outro valor: "
read valor2
echo
echo
echo "Calculando..."
echo ...
sleep 1
echo ...
sleep 1
echo ...
subtr=$((valor1-valor2))
echo "$valor1 - $valor2 = $subtr"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

divi()
{
clear
echo -n "Digite um valor:"
read valor1
echo
echo
echo -n "Digite outro valor:"
read valor2
echo
echo
echo "Calculando..."
echo ...
sleep 1
echo ...
sleep 1
echo ...
linus=$((valor1/valor2))
echo "$valor1 ÷ $valor2 = $linus"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

multi()
{
clear
echo
echo -n "Digite um valor: "
read valor1
echo
echo
echo -n "Digite outro valor: "
read valor2
echo
echo
echo "Calculando..."
echo ...
sleep 1
echo ...
sleep 1
echo ...
multipl=$((valor1*valor2))
echo "$valor1 × $valor2 = $multipl"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

dire()
{
clear
ddd=pwd
echo "Esse eh o diretorio atual: $ddd"
echo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

text()
{
clear
echo "Qual nome deseja dar ao seu arquivo de texto?"
read nome
touch $nome
echo
echo "Arquivo criado"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

fr()
{
clear
echo "Serao exibidos detalhes da memoria RAM!"
sleep 2
echo
cat /proc/meminfo
echo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

calendario()
{
clear
echo "Digite o ano para visualizar o calendario"
read calen
sleep 2
cal $calen
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

geren()
{
clear
echo "Sera iniciado o gerenciador de arquivos, aguarde!"
sleep 2
nautilus
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

sis()
{
clear
echo "Informacoes sendo carregadas, aguarde!"
echo
sleep 2
who
uname -a
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

uss()
{
clear
arq=arch
echo "A arquitetura eh a seguinte: $arq"
echo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

ram()
{
clear
echo "Dados da memoria RAM a seguir:"
echo
sleep 2
cat /proc/meminfo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

atual()
{
clear
usuario=whoiam
grupo=groups
echo "O usuario $usuario pertence aos seguintes grupos: $grupo"
echo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

proc()
{
clear
echo "Vamos exibir os dados do processador a seguir!"
sleep 2
cat /proc/cpuinfo
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

mod()
{
clear
echo "Os modulos instalados sao os seguintes:"
sleep 2
lsmod
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

add()
{
clear

echo -n "Informe o nome do usuario: ";
read UNAME
echo -n "Informe o home do usuario: ";
read HDIR
useradd -b /$HDIR $UNAME
echo
clear
echo "O usuario foi criado, checando com o comando de listagem!"
echo
ls -la /home
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

dele()
{
echo -n "Entre com o login do usuario a deletar: "
read login
echo
echo "Mensagem do Sistema: "
echo
userdel $login
echo
echo
echo
echo "O usuario foi deletado!"
sleep 2
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}

desli()
{
echo "Isso vai desligar o computador, voce tem certeza? [S / N]"
read ctza
if [ ctza=S ]; then
halt
else
echo "Retornando ao menu anterior..."
fi
sleep 2
menu
}

troll()
{
clear
echo "Descubra o que esse comando faz!"
sleep 2
eject
sleep 2
echo "Ainda nao descobriu?"
eject -t
sleep 2
echo "Preste atencao no som"
sleep 2
eject
sleep 2
echo "O computador parece estar possuido"
eject -t
sleep 2
echo "Finalizando o sistema em emergencia"
sleep 1
eject
sleep 1
echo "Obrigado por utilizar meu script!"
eject -t
sleep 1
echo "Aperte enter para retornar ao menu principal"
read entesss
menu
}
done
}
clear
menu


Aqui está funcionando...
Como q vc está executando o script?


3. Re: Ajuda um pouco urgente

Perfil removido
removido

(usa Nenhuma)

Enviado em 15/06/2018 - 01:04h

normal aqui, cara
só não funcionou a função 8 e a 23, até onde eu testei






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts