3
respostas

manipulação de variaveis

Boa tarde,

Estou olhando uns scripts e vi no começo um deles tem:

set -e

e depois disso tem umas variaveis sendo setadas e o restante do script, gostaria de saber para que serve esse (set -e) no começo.

3 respostas

Olá Barbara! Tudo certo? Espero que sim. 🙂

Você poderia compartilhar o código ou o terminal no qual você visualizou essa informação? Dessa forma, posso entender melho o contexto do segmento de código set -e.

Para copiar o código e disponibilizar aqui no fórum é bem fácil! É só seguir esses passos:

1) Selecionar o código mostrado no terminal e copiá-los. No Linux Ubuntu, o comando de teclado para copiar do terminal é Ctrl+Shift+C;

2) Depois é só vir aqui no fórum e selecionar no ícone correspondente a esse: </>. Outra opção é digitar o comando de teclado Ctrl+Alt+C;

Barra de opções aqui do fórum, ressaltando o botão de 'Inserir bloco de código'

3) Cole o código dentro do campo que surgir.

Código de exemplo:

Visualização do campo de digitação de código em sua forma anterior a ser publicada 

Resultado final:

sudo apt update

 

Uma outra alternativa seria tirar um print do terminal e dos códigos e postar aqui no fórum.

Seguem os passos para tal:

1) Fazer o print da tela do seu computador e salvar a imagem;

2) Voltar ao fórum e fazer o upload da imagem clicando no ícone definido como Upload de Imagem. Inserir o print e publicar.

Barra de opções aqui do fórum, ressaltando o botão de 'Upload de imagem'

 

Aguardo a sua resposta. Qualquer dúvida é só falar. 😉

Nossa Bruno você é muito didatico, obrigada mesmo... vou colocar aqui o codigo como marquee

#!/bin/bash

set -e

branch=@option.branch@
ambiente=@option.ambiente@
instancia=@option.instancia@


if [ ${branch} -eq "feature/*" ]
then
    war_url=https://artifactory.empresa.com.br/artifactory/deploy-release/repo/${branch}/art.war
else
    war_url=https://artifactory.empresa.com.br/artifactory/deploy-snapshot/repo/${branch}/art.war
fi

tmp_war_dir=/tmp/art${instancia}
tmp_war_file=${tmp_war_dir}/art.war
dir_instancia=/app/art/jetty-6.1.14-art${instancia}
app_context=art${instancia}

echo "Baixando war para area temporaria"
mkdir -p ${tmp_war_dir}
wget --no-verbose -O ${tmp_war_file} ${war_url}

echo "Executando Deploy do .war"
cd ${dir_instancia} && ./deploy.sh ${tmp_war_file} ${app_context}

echo "Limpando war da area temporaria"
rm -f ${tmp_war_file}

Olá Barbara.

Obrigado pelo feedback positivo! 😊

Nesse caso, o set seria um comando de mudança de valores/configurações de variáveis internas do script em que está sendo usada. A tag -e seria uma abreviação de errexit, e tem o objetivo de abortar o script caso algum comando possua um erro, isto é, que retorne um valor non-zero.

De forma sucinta, o comando set -e acaba por reconfigurar o script para uma parada forçada assim que detectar algum erro em um de seus comandos. Assim, se trata de um comando de segurança, que preza pela eficiência e um bom funcionamento do script.

Caso você se interesse em saber mais sobre a elaboração de scripts no shell, aqui na Alura nós temos dois cursos bem interessantes sobre a temática e que podem lhe ajudar nos seus estudos.

Espero ter ajudado! Quaisquer dúvidas, estou à disposição. 😉

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!