Alguém consegue descobrir aonde eu errei nesse Shell Script???

1. Alguém consegue descobrir aonde eu errei nesse Shell Script???

Matheus Silva Freitas
FormigTeen

(usa Fedora)

Enviado em 31/05/2016 - 17:21h

Eu fiz este Shell Script somente para copiar e colar arquivos e funcionava, mas fui adicionando novas funções e por incrível que pareça ele parou de funcionar... Em todos os Scripts que usam o 'dialog', ele não processa os comandos do 'IF', Eu já pesquisei de tudo, coloquei =, ==, -eq, ; em cada comando mas nada funcionou... Alguém sabe dizer por que os comandos do IF não estão sendo executados???

OBS: Fora do 'IF', tem alguns 'clear', eles também não estão sendo executados... Literalmente... só o 'dialog' está sendo processado :/


#Alias Backup

alias BackupShell="dialog --yesno \"Tem certeza que deseja realizar o Backup do Shell?\" 15 60

if [ \"$?\" = \"0\" ]; then

cp ~/.bash_profile ~/.BackupShell

cp ~/.bashrc ~/.Backup Shell

cp ~/.bash_logout ~/.BackupShell

fi

clear"


#Start Custom Comands

#Script 1 - Write and Creating Folder for Backup Shell

if [ ! -d ~/.BackupShell ]; then

mkdir ~/.BackupShell

echo "dialog --yesno \"Tem certeza que deseja realizar o Reckup do Shell?\" 15 60

if [ \"\$?\" = \"0\" ]; then

if [ ! -d ~/.DefaultShell ]; then

mkdir ~/.DefaultShell

cp ~/.bashrc ~/.DefaultShell

cp ~/.bash_profile ~/.DefaultShell

cp ~/.bash_logout ~/.DefaultShell

fi

cp ~/.BackupShell/.bash_profile ~

cp ~/.BackupShell/.bashrc ~

cp ~/.BackupShell/.bash_logout ~

fi clear " >> ~/.BackupShell/BackupScript.sh

chmod +x ~/.BackupShell/BackupScript.sh

fi

#End Script

#Alias Reckup

alias ReckupShell="chmod +x ~/.BackupShell/BackupScript.sh ; cd ~/.BackupShell ; ./BackupScript.sh ; cd ~"

#Alias Excluir Configuracao Backup

alias DelBackupShell="dialog --yesno \"Tem certeza que deseja Excluir as Configuracoes de Backup do Shell?\" 15 60

if [ \"$?\" = \"0\" ]; then

cp ~/.DefaultShell/.bash_profile ~

cp ~/.DefaultShell/.bashrc ~

cp ~/.DefaultShell/.bash_logout ~

rm -rf ~/.DefaultShell

fi

clear"



  


2. Re: Alguém consegue descobrir aonde eu errei nesse Shell Script???

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/05/2016 - 17:47h

FormigTeen escreveu:

Eu fiz este Shell Script somente para copiar e colar arquivos e funcionava, mas fui adicionando novas funções e por incrível que pareça ele parou de funcionar... Em todos os Scripts que usam o 'dialog', ele não processa os comandos do 'IF', Eu já pesquisei de tudo, coloquei =, ==, -eq, ; em cada comando mas nada funcionou... Alguém sabe dizer por que os comandos do IF não estão sendo executados???

OBS: Fora do 'IF', tem alguns 'clear', eles também não estão sendo executados... Literalmente... só o 'dialog' está sendo processado :/


#Alias Backup

alias BackupShell="dialog --yesno \"Tem certeza que deseja realizar o Backup do Shell?\" 15 60

if [ \"$?\" = \"0\" ]; then

cp ~/.bash_profile ~/.BackupShell

cp ~/.bashrc ~/.Backup Shell

cp ~/.bash_logout ~/.BackupShell

fi

clear"


#Start Custom Comands

#Script 1 - Write and Creating Folder for Backup Shell

if [ ! -d ~/.BackupShell ]; then

mkdir ~/.BackupShell

echo "dialog --yesno \"Tem certeza que deseja realizar o Reckup do Shell?\" 15 60

if [ \"\$?\" = \"0\" ]; then

if [ ! -d ~/.DefaultShell ]; then

mkdir ~/.DefaultShell

cp ~/.bashrc ~/.DefaultShell

cp ~/.bash_profile ~/.DefaultShell

cp ~/.bash_logout ~/.DefaultShell

fi

cp ~/.BackupShell/.bash_profile ~

cp ~/.BackupShell/.bashrc ~

cp ~/.BackupShell/.bash_logout ~

fi clear " >> ~/.BackupShell/BackupScript.sh

chmod +x ~/.BackupShell/BackupScript.sh

fi

#End Script

#Alias Reckup

alias ReckupShell="chmod +x ~/.BackupShell/BackupScript.sh ; cd ~/.BackupShell ; ./BackupScript.sh ; cd ~"

#Alias Excluir Configuracao Backup

alias DelBackupShell="dialog --yesno \"Tem certeza que deseja Excluir as Configuracoes de Backup do Shell?\" 15 60

if [ \"$?\" = \"0\" ]; then

cp ~/.DefaultShell/.bash_profile ~

cp ~/.DefaultShell/.bashrc ~

cp ~/.DefaultShell/.bash_logout ~

rm -rf ~/.DefaultShell

fi

clear"


Morimoto Sensei usava uma variável temporária para armazenar o valor de $? e depois comparava-a com o valor zero.

if [ \"$?\" = \"0\" ]; then

Ese trecho funcionou quando coloquei aquele ponto-e-vírgula escapado.

if [ \"$?\" = \"0\" ]\; then

E o fechamento do if, com fi também recebeu um ponto-e-vírgula escapado.

Por enquanto é isto. Eu teria que criar um ambiente para testar a rigor o funcionamento.

Faz anos que não pesquiso truques com o dialog. É um recurso bem legal, principalmente com esse alias que você inventou.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Não foi...

Matheus Silva Freitas
FormigTeen

(usa Fedora)

Enviado em 31/05/2016 - 19:35h

Eu não entendi bem porque devem ser escapados os ponto e virgulas... Isso é por causa que ele está dentro de um Alias?? E mesmo com suas dicas o Script não voltou a ser funcional... estou achando que sobrecarreguei demais. Antes de transformar tudo em um Script separado e ir chamando eles por meio de Aliases estou vendo se vem um Jedai me ajudar a solucionar esse problema que conta como aprendizado :/

listeiro_037 escreveu:

FormigTeen escreveu:

Eu fiz este Shell Script somente para copiar e colar arquivos e funcionava, mas fui adicionando novas funções e por incrível que pareça ele parou de funcionar... Em todos os Scripts que usam o 'dialog', ele não processa os comandos do 'IF', Eu já pesquisei de tudo, coloquei =, ==, -eq, ; em cada comando mas nada funcionou... Alguém sabe dizer por que os comandos do IF não estão sendo executados???

OBS: Fora do 'IF', tem alguns 'clear', eles também não estão sendo executados... Literalmente... só o 'dialog' está sendo processado :/


#Alias Backup

alias BackupShell="dialog --yesno \"Tem certeza que deseja realizar o Backup do Shell?\" 15 60

if [ \"$?\" = \"0\" ]; then

cp ~/.bash_profile ~/.BackupShell

cp ~/.bashrc ~/.Backup Shell

cp ~/.bash_logout ~/.BackupShell

fi

clear"


#Start Custom Comands

#Script 1 - Write and Creating Folder for Backup Shell

if [ ! -d ~/.BackupShell ]; then

mkdir ~/.BackupShell

echo "dialog --yesno \"Tem certeza que deseja realizar o Reckup do Shell?\" 15 60

if [ \"\$?\" = \"0\" ]; then

if [ ! -d ~/.DefaultShell ]; then

mkdir ~/.DefaultShell

cp ~/.bashrc ~/.DefaultShell

cp ~/.bash_profile ~/.DefaultShell

cp ~/.bash_logout ~/.DefaultShell

fi

cp ~/.BackupShell/.bash_profile ~

cp ~/.BackupShell/.bashrc ~

cp ~/.BackupShell/.bash_logout ~

fi clear " >> ~/.BackupShell/BackupScript.sh

chmod +x ~/.BackupShell/BackupScript.sh

fi

#End Script

#Alias Reckup

alias ReckupShell="chmod +x ~/.BackupShell/BackupScript.sh ; cd ~/.BackupShell ; ./BackupScript.sh ; cd ~"

#Alias Excluir Configuracao Backup

alias DelBackupShell="dialog --yesno \"Tem certeza que deseja Excluir as Configuracoes de Backup do Shell?\" 15 60

if [ \"$?\" = \"0\" ]; then

cp ~/.DefaultShell/.bash_profile ~

cp ~/.DefaultShell/.bashrc ~

cp ~/.DefaultShell/.bash_logout ~

rm -rf ~/.DefaultShell

fi

clear"


Morimoto Sensei usava uma variável temporária para armazenar o valor de $? e depois comparava-a com o valor zero.

if [ \"$?\" = \"0\" ]; then

Ese trecho funcionou quando coloquei aquele ponto-e-vírgula escapado.

if [ \"$?\" = \"0\" ]\; then

E o fechamento do if, com fi também recebeu um ponto-e-vírgula escapado.

Por enquanto é isto. Eu teria que criar um ambiente para testar a rigor o funcionamento.

Faz anos que não pesquiso truques com o dialog. É um recurso bem legal, principalmente com esse alias que você inventou.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden





4. Re: Alguém consegue descobrir aonde eu errei nesse Shell Script???

Perfil removido
removido

(usa Nenhuma)

Enviado em 31/05/2016 - 19:54h

Procure testar ele por partes.
Primeiro faça o alias funcionar com algum tipo de ação como um echo na tela.
Depois vá acrescentando comandos.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts