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.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.
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;
3) Cole o código dentro do campo que surgir.
Código de exemplo:
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.
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. 😉