Ajuda - Shell [RESOLVIDO]

1. Ajuda - Shell [RESOLVIDO]

Simone de Cássia Santos
scassiasantos

(usa Ubuntu)

Enviado em 20/10/2016 - 21:05h

Segue o código que fiz abaixo:
#!/bin/bash
C=5
echo -n "Digite a variável 1: "
read var1
echo -n "Digite a variável 2: "
read var2
if [$var1 -eq $C] && [$var2 -eq $C];
echo "Variável 1, variável 2 e constante são iguais e tem os respectivos valores: $var1, $var2 e $C"
else
if [$var1 -ne $C] || [$var2 -ne $C]
then
echo "Variável diferente da constante"
fi

Neste código desejo comparar o valor de uma constante com duas variáveis, porém está apresentando erros. Podem me ajudar? A lógica está correta?
Obrigada!


  


2. Re: Ajuda - Shell

Paulo Jr
Pebis

(usa Debian)

Enviado em 20/10/2016 - 21:28h



#!/bin/bash
C=5
echo -n "Digite a variável 1: "
read var1
echo -n "Digite a variável 2: "
read var2
if [$var1 -eq $C] && [$var2 -eq $C]; then //////////////////////// TEM QUE DEIXAR ESPAÇO ENTRE OS COLCHETES E AS VARIÁVEIS coloca a palavra then
echo "Variável 1, variável 2 e constante são iguais e tem os respectivos valores: $var1, $var2 e $C"
else
if [$var1 -ne $C] || [$var2 -ne $C] ////////////////////////// REMOVA A PALAVRA IF , fica: else [ $var1 -ne $C ] || [ $var2 -ne $C ] e de os espaços nos colchetes
then /// REMOVA ESTE THEN
echo "Variável diferente da constante"
fi




Coloquei os erros, refaça e veja se funciona.





3. Re: Ajuda - Shell [RESOLVIDO]

Simone de Cássia Santos
scassiasantos

(usa Ubuntu)

Enviado em 20/10/2016 - 21:43h

Pebis escreveu:



#!/bin/bash
C=5
echo -n "Digite a variável 1: "
read var1
echo -n "Digite a variável 2: "
read var2
if [$var1 -eq $C] && [$var2 -eq $C]; then //////////////////////// TEM QUE DEIXAR ESPAÇO ENTRE OS COLCHETES E AS VARIÁVEIS coloca a palavra then
echo "Variável 1, variável 2 e constante são iguais e tem os respectivos valores: $var1, $var2 e $C"
else
if [$var1 -ne $C] || [$var2 -ne $C] ////////////////////////// REMOVA A PALAVRA IF , fica: else [ $var1 -ne $C ] || [ $var2 -ne $C ] e de os espaços nos colchetes
then /// REMOVA ESTE THEN
echo "Variável diferente da constante"
fi




Coloquei os erros, refaça e veja se funciona.




A constante como C=5 está correta a forma como declarei?
Posso salvar no bloco como extensão .sh e qualquer pessoa pode executar depois ou precisa dar permissão? Se sim, como faço?

Obrigada.



4. Re: Ajuda - Shell [RESOLVIDO]

Paulo Jr
Pebis

(usa Debian)

Enviado em 20/10/2016 - 22:01h

scassiasantos escreveu:

Pebis escreveu:



#!/bin/bash
C=5
echo -n "Digite a variável 1: "
read var1
echo -n "Digite a variável 2: "
read var2
if [$var1 -eq $C] && [$var2 -eq $C]; then //////////////////////// TEM QUE DEIXAR ESPAÇO ENTRE OS COLCHETES E AS VARIÁVEIS coloca a palavra then
echo "Variável 1, variável 2 e constante são iguais e tem os respectivos valores: $var1, $var2 e $C"
else
if [$var1 -ne $C] || [$var2 -ne $C] ////////////////////////// REMOVA A PALAVRA IF , fica: else [ $var1 -ne $C ] || [ $var2 -ne $C ] e de os espaços nos colchetes
then /// REMOVA ESTE THEN
echo "Variável diferente da constante"
fi




Coloquei os erros, refaça e veja se funciona.




A constante como C=5 está correta a forma como declarei?
Posso salvar no bloco como extensão .sh e qualquer pessoa pode executar depois ou precisa dar permissão? Se sim, como faço?

Obrigada.


Também não manjo muito, sou curioso. Lendo sobre como se declara constantes vi que existem formas de ser fazer isso.

https://www.vivaolinux.com.br/dica/Declarando-constantes-em-shell-scripts

ficaria assim:
readonly C=5
declare -r C=5
typeset -r C=5


5. Re: Ajuda - Shell [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/10/2016 - 22:21h

Simone, boa noite.
Aproveitando o tópico. . .
Resolveu esse exercício: https://www.vivaolinux.com.br/topico/Shell-Script/Programacao-Shell-2
Tenho o script pronto, se precisar, avise.

marcelo oliver


6. Re: Ajuda - Shell [RESOLVIDO]

Simone de Cássia Santos
scassiasantos

(usa Ubuntu)

Enviado em 20/10/2016 - 22:33h

msoliver escreveu:

Simone, boa noite.
Aproveitando o tópico. . .
Resolveu esse exercício: https://www.vivaolinux.com.br/topico/Shell-Script/Programacao-Shell-2
Tenho o script pronto, se precisar, avise.

marcelo oliver


Marcelo, estou com a seguinte dúvida:
Posso salvar no bloco como extensão .sh e qualquer pessoa pode executar depois ou precisa dar permissão? Se sim, como faço?

Ou seja, o que estou fazendo é: colocando no bloco de notas e salvando como exemplo.br e colocando para todos os tipos de arquivo. Quero saber se assim outra pessoa consegue depois rodar normalmente.

Pode me ajudar?

Sobre o exercício vou pesquisar para saber como se faz. Muito obrigada. :)

Obrigada.



7. Re: Ajuda - Shell [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/10/2016 - 22:42h

scassiasantos escreveu:
Segue o código que fiz abaixo:
#!/bin/bash
C=5
echo -n "Digite a variável 1: "
read var1
echo -n "Digite a variável 2: "
read var2
if [$var1 -eq $C] && [$var2 -eq $C];
echo "Variável 1, variável 2 e constante são iguais e tem os respectivos valores: $var1, $var2 e $C"
else
if [$var1 -ne $C] || [$var2 -ne $C]
then
echo "Variável diferente da constante"
fi

Neste código desejo comparar o valor de uma constante com duas variáveis, porém está apresentando erros. Podem me ajudar? A lógica está correta?
Obrigada!



Boa noite, Simone.
Segue:

#!/bin/bash
tput clear #LIMPA A TELA
C="5"
read -p "Digite a variável 1: " var1
read -p "Digite a variável 2: " var2
if [ $var1 -eq $C ] && [ $var2 -eq $C ];then # OUTRAS OPÇÕES de "test" [[ $var1 -eq $C && $var2 -eq $C ]] e ((var1 == C && var2 == C))
echo -e "\nVariável 1, variável 2 e constante são iguais e tem os respectivos valores: $var1, $var2 e $C"
elif [[ $var1 -ne $C || $var2 -ne $C ]];then #ALTEREI O else PELO elif
echo -e "\nVariável diferente da constante"
fi


att.:
marcelo oliver....


8. Re: Ajuda - Shell [RESOLVIDO]

Simone de Cássia Santos
scassiasantos

(usa Ubuntu)

Enviado em 20/10/2016 - 22:47h

msoliver escreveu:

scassiasantos escreveu:
Segue o código que fiz abaixo:
#!/bin/bash
C=5
echo -n "Digite a variável 1: "
read var1
echo -n "Digite a variável 2: "
read var2
if [$var1 -eq $C] && [$var2 -eq $C];
echo "Variável 1, variável 2 e constante são iguais e tem os respectivos valores: $var1, $var2 e $C"
else
if [$var1 -ne $C] || [$var2 -ne $C]
then
echo "Variável diferente da constante"
fi

Neste código desejo comparar o valor de uma constante com duas variáveis, porém está apresentando erros. Podem me ajudar? A lógica está correta?
Obrigada!



Boa noite, Simone.
Segue:

#!/bin/bash
tput clear #LIMPA A TELA
C="5"
read -p "Digite a variável 1: " var1
read -p "Digite a variável 2: " var2
if [ $var1 -eq $C ] && [ $var2 -eq $C ];then # OUTRAS OPÇÕES de "test" [[ $var1 -eq $C && $var2 -eq $C ]] e ((var1 == C && var2 == C))
echo -e "\nVariável 1, variável 2 e constante são iguais e tem os respectivos valores: $var1, $var2 e $C"
elif [[ $var1 -ne $C || $var2 -ne $C ]];then #ALTEREI O else PELO elif
echo -e "\nVariável diferente da constante"
fi


att.:
marcelo oliver....

Marcelo, muito obrigada pela sua resposta :)

O exercício deu certo.
Posso salvar no bloco como extensão .sh e qualquer pessoa pode executar depois ou precisa dar permissão? Se sim, como faço?

Ou seja, o que estou fazendo é: colocando no bloco de notas e salvando como exemplo.br e colocando para todos os tipos de arquivo. Quero saber se assim outra pessoa consegue depois rodar normalmente.

Pode me ajudar?

Sobre o exercício vou pesquisar para saber como se faz. Muito obrigada. :)



9. Re: Ajuda - Shell [RESOLVIDO]

Paulo Jr
Pebis

(usa Debian)

Enviado em 20/10/2016 - 22:54h

scassiasantos escreveu:

msoliver escreveu:

scassiasantos escreveu:
Segue o código que fiz abaixo:
#!/bin/bash
C=5
echo -n "Digite a variável 1: "
read var1
echo -n "Digite a variável 2: "
read var2
if [$var1 -eq $C] && [$var2 -eq $C];
echo "Variável 1, variável 2 e constante são iguais e tem os respectivos valores: $var1, $var2 e $C"
else
if [$var1 -ne $C] || [$var2 -ne $C]
then
echo "Variável diferente da constante"
fi

Neste código desejo comparar o valor de uma constante com duas variáveis, porém está apresentando erros. Podem me ajudar? A lógica está correta?
Obrigada!



Boa noite, Simone.
Segue:

#!/bin/bash
tput clear #LIMPA A TELA
C="5"
read -p "Digite a variável 1: " var1
read -p "Digite a variável 2: " var2
if [ $var1 -eq $C ] && [ $var2 -eq $C ];then # OUTRAS OPÇÕES de "test" [[ $var1 -eq $C && $var2 -eq $C ]] e ((var1 == C && var2 == C))
echo -e "\nVariável 1, variável 2 e constante são iguais e tem os respectivos valores: $var1, $var2 e $C"
elif [[ $var1 -ne $C || $var2 -ne $C ]];then #ALTEREI O else PELO elif
echo -e "\nVariável diferente da constante"
fi


att.:
marcelo oliver....

Marcelo, muito obrigada pela sua resposta :)

O exercício deu certo.
Posso salvar no bloco como extensão .sh e qualquer pessoa pode executar depois ou precisa dar permissão? Se sim, como faço?

Ou seja, o que estou fazendo é: colocando no bloco de notas e salvando como exemplo.br e colocando para todos os tipos de arquivo. Quero saber se assim outra pessoa consegue depois rodar normalmente.

Pode me ajudar?

Sobre o exercício vou pesquisar para saber como se faz. Muito obrigada. :)


Desculpa, esqueci de responder. Você tem que dar permissão de execução sim. Arquivos em linux não necessitam de extensão. pode salvar com qualquer nome, utiliza-se o .sh somente para sabermos que é um script.

Entra na pasta aonde salvou o arquivo, por exemplo, cd /home/seuusuário/Documentos e faz o comando:
chmod +x seuArquivo

depois, para executá-lo faça assim:

./seuArquivo



10. Re: Ajuda - Shell

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/10/2016 - 22:54h

scassiasantos escreveu:

msoliver escreveu:

Simone, boa noite.
Aproveitando o tópico. . .
Resolveu esse exercício: https://www.vivaolinux.com.br/topico/Shell-Script/Programacao-Shell-2
Tenho o script pronto, se precisar, avise.
marcelo oliver


Marcelo, estou com a seguinte dúvida:
Posso salvar no bloco como extensão .sh e qualquer pessoa pode executar depois ou precisa dar permissão? Se sim, como faço?
Ou seja, o que estou fazendo é: colocando no bloco de notas e salvando como exemplo.br e colocando para todos os tipos de arquivo. Quero saber se assim outra pessoa consegue depois rodar normalmente.
pode me ajudar?
Sobre o exercício vou pesquisar para saber como se faz. Muito obrigada. :)
Obrigada.

SImone, boa noite.
BLOCO de NOTAS do WiNDOWS?
Se SIM, não vai funcionar no LINUX sem a conversão do ARQUIVO para o padrão LINUX.
Existe uma diferença no sinal de "FIM DE LINHA", entre eles.
Para "executar" no LINUX, faça:
Copie o CóDIGO do script, cole no EDITOR de TEXTOS de sua preferencia (LINUX),
salve-o com a extensão ".sh" (NÃO é NECESSÁRIO ESTENSãO, eu uso . . . É útil para localizar arquivos)
De permissão de execução, com o comando:
chmod +x NOMEDOSCRIPT.sh 

E para EXECUTAR, faça:
./NOMEDOSCRIPT.sh 


DICA SOBRE o EXERCíCIO . . .
1º Deve ser executado como "root" (o comando p/ cadastrar . . .)
2º Os Usuários estão em "/etc/passwd"
3º Para "filtrar", verificar se o LOGIN já "existe, use o sed, grep, egrep ou o awk qualquer um serve . . . O mais recomendado é o grep/egrep
Não existindo, CADASTRA . .
Se já existir, da mensagem e sai...


att.:
marcelo oliver



11. Re: Ajuda - Shell [RESOLVIDO]

Simone de Cássia Santos
scassiasantos

(usa Ubuntu)

Enviado em 20/10/2016 - 23:09h

msoliver escreveu:

scassiasantos escreveu:

msoliver escreveu:

Simone, boa noite.
Aproveitando o tópico. . .
Resolveu esse exercício: https://www.vivaolinux.com.br/topico/Shell-Script/Programacao-Shell-2
Tenho o script pronto, se precisar, avise.
marcelo oliver


Marcelo, estou com a seguinte dúvida:
Posso salvar no bloco como extensão .sh e qualquer pessoa pode executar depois ou precisa dar permissão? Se sim, como faço?
Ou seja, o que estou fazendo é: colocando no bloco de notas e salvando como exemplo.br e colocando para todos os tipos de arquivo. Quero saber se assim outra pessoa consegue depois rodar normalmente.
pode me ajudar?
Sobre o exercício vou pesquisar para saber como se faz. Muito obrigada. :)
Obrigada.

SImone, boa noite.
BLOCO de NOTAS do WiNDOWS?
Se SIM, não vai funcionar no LINUX sem a conversão do ARQUIVO para o padrão LINUX.
Existe uma diferença no sinal de "FIM DE LINHA", entre eles.
Para "executar" no LINUX, faça:
Copie o CóDIGO do script, cole no EDITOR de TEXTOS de sua preferencia (LINUX),
salve-o com a extensão ".sh" (NÃO é NECESSÁRIO ESTENSãO, eu uso . . . É útil para localizar arquivos)
De permissão de execução, com o comando:
chmod +x NOMEDOSCRIPT.sh 

E para EXECUTAR, faça:
./NOMEDOSCRIPT.sh 


att.:
marcelo oliver


Olá, Marcelo!

Fiz os exercícios por este site que tem o simulador do terminal: https://www.tutorialspoint.com/execute_bash_online.php

Eu até entendi a ideia do que deve ser feito. Há uma maneira que eu possa fazer já que eu não tenho o S.O. na minha máquina?

Estou um pouco perdida em relação à isto.

Alguma sugestão?

Obrigada.



12. Re: Ajuda - Shell

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/10/2016 - 23:20h

scassiasantos escreveu:

msoliver escreveu:

scassiasantos escreveu:

msoliver escreveu:

Simone, boa noite.
Aproveitando o tópico. . .
Resolveu esse exercício: https://www.vivaolinux.com.br/topico/Shell-Script/Programacao-Shell-2
Tenho o script pronto, se precisar, avise.
marcelo oliver


Marcelo, estou com a seguinte dúvida:
Posso salvar no bloco como extensão .sh e qualquer pessoa pode executar depois ou precisa dar permissão? Se sim, como faço?
Ou seja, o que estou fazendo é: colocando no bloco de notas e salvando como exemplo.br e colocando para todos os tipos de arquivo. Quero saber se assim outra pessoa consegue depois rodar normalmente.
pode me ajudar?
Sobre o exercício vou pesquisar para saber como se faz. Muito obrigada. :)
Obrigada.

SImone, boa noite.
BLOCO de NOTAS do WiNDOWS?
Se SIM, não vai funcionar no LINUX sem a conversão do ARQUIVO para o padrão LINUX.
Existe uma diferença no sinal de "FIM DE LINHA", entre eles.
Para "executar" no LINUX, faça:
Copie o CóDIGO do script, cole no EDITOR de TEXTOS de sua preferencia (LINUX),
salve-o com a extensão ".sh" (NÃO é NECESSÁRIO ESTENSãO, eu uso . . . É útil para localizar arquivos)
De permissão de execução, com o comando:
chmod +x NOMEDOSCRIPT.sh 

E para EXECUTAR, faça:
./NOMEDOSCRIPT.sh 


att.:
marcelo oliver


Olá, Marcelo!

Fiz os exercícios por este site que tem o simulador do terminal: https://www.tutorialspoint.com/execute_bash_online.php

Eu até entendi a ideia do que deve ser feito. Há uma maneira que eu possa fazer já que eu não tenho o S.O. na minha máquina?

Estou um pouco perdida em relação à isto.

Alguma sugestão?

Obrigada.


====================================================
Muito bom o simulador, já utilizei.
Sim, tem sugestão, sempre . . . :)
Se usa o Windows, uma alternativa é o : https://www.cygwin.com/
Quarquer dúvida, tenho o manual de instalação do dito cujo . . .
Uma outra opção, seria utilizar um "LIVE CD", recomendo o DEBIAN.
marcelo oliver




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts