Executar comandos

1. Executar comandos

Nícolas Amorim Bezerra
nicolas-deb

(usa Debian)

Enviado em 31/07/2015 - 12:57h

Galera, sou novo na SH e estou tentando criar um script que o usuário criptografe algum arquivo que queria em AES, criei até certo por, fiz o script ler todas as variáreis, fiz as condições certinhas, porém não estou conseguindo fazer a script executar o comando da criptografia... Segue abaixo o código que estava criando...


echo "Siga os passa abaixo para podermos criptografar seus arquivos..."
echo "Digite o caminho do arquivos que queres criptografar:"
read arq_local
echo "Digite o nome do arquivo que queres critptografar:"
read nome_arq
echo "digite a senha da cript"
read pass_arq

cd $arq_local

arquivo="$arq_local/$nome_arq"
senha="$pass_arq"


echo "OBS: Se perder essa senha vai ser bronca quebrar esse critografia, guarde-a bem. Tem certeza se queres criptografar esses arquivos??(S/N)"
read resp

if [ $resp == "S"]
case "$arquivo" in
aescrypt -p "$pass_arq" "$arquivo"
esac

elif [ $resp == "N"]
echo -e "Obrigado."
fi


Acho que o erro está dentro do If.. Se ele ler 'S' gostaria que ele executasse o comando
aescrypt -e -p $pass_arq $nome_arq 
, com isso ele criaria a criptografia.


Espero respostas, obrigado!!!

Abs


  


2. Re: Executar comandos

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 31/07/2015 - 13:19h

Olá,

Vc misturou if com case, e a sintaxe tbm estava errada. Segue abaixo correções: (Tentei manter ao máximo sua lógica):
#!/bin/bash



clear
echo -e "\n Siga os passos abaixo para podermos criptografar seus arquivos..."
sleep 1
echo -e "\nDigite o caminho do arquivo que queres criptografar: "
read arq_local
echo "Digite o nome do arquivo que queres critptografar: "
read nome_arq
echo "digite a senha da cript "
read pass_arq

cd $arq_local

arquivo="$arq_local/$nome_arq"
senha="$pass_arq"


echo -e "\n\n\n \033[01;31m OBS: Se perder essa senha vai ser bronca quebrar essa critografia, guarde-a bem. Tem certeza se queres criptografar esses arquivos?? (S/N) \033[00;37m \n\n\n"
read -n 1 -s resp

case $resp in

s|S)
aescrypt -e -p "$pass_arq" "$arquivo" ;;

n|N)
echo -e "\nObrigado. Até mais...\n\n\n"
exit 1;;
*)
echo -e "\n\n Opção inválida!\nSaindo..."
sleep 1
exit 1 ;;

esac



abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


3. Pequeno erro

Nícolas Amorim Bezerra
nicolas-deb

(usa Debian)

Enviado em 31/07/2015 - 13:36h

Meu caro, muuuuito bom seu script, porém deu um pequeno erro quando eu digite S, que foi...

/bin/aes126.sh: line 28: erro de sintaxe próximo do `token' não esperado `1'
/bin/aes126.sh: line 28: ` exit 1'

Obrigado!



4. Re: Executar comandos

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 31/07/2015 - 15:23h

Desculpe! Editei o codigo e corrigi.


EDIT:: Tinha outro erro no read , corrigido tbm.
No case, basta apertar a opção, não precisa mais de enter.


abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts