shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Variável não funciona e não exibe erro.


From: Alyson Franklin
Subject: Re: [shell-script] Variável não funciona e não exibe erro.
Date: Tue, 14 Nov 2017 16:02:18 -0200

Descarto a possibilidade de ser permissão, pois sou root. E como disse no email anterior, se eu crio essa variavel direto no terminal ou se eu coloco ela num script teste.sh contendo apenas a variavel, ela funciona normalmente. 

MENSAGEM_USO="
Uso: $(basename "$0") [-h | -V]

        -h, --help      Mostra esta tela de ajuda e sai
        -V, --version      Mostra a versão do programa e sai

Exemplos:
        $(basename "$0") -h
        $(basename "$0") ED-1xx

"

# Tratamento das opções da linha de comando

case "$1" in
-h | --help)
        echo "$MENSAGEM_USO"
        exit 0

;;

-V | --version)
# Extrai a versão diretamente do cabeçalho do programa        
        grep '^# Versão' "$0" | tail -1 | tr -d "#"
        exit 0

;;

esac

# Na mensagem de ajuda, o [-h] entre colchetes indica que este parâmetro
# é opcional, ou seja, você pode usá-lo, mas não é obrigatório.

#####################
#### Variáveis: #####
#####################

DIRMTG="/AppServer/jboss-4.2.3.GA/server/default/deploy/mtg/"
DIRCALLCENTER="/AppServer/jboss-4.2.3.GA/server/default/deploy/callcenter/"
DIRBKP="/AppServer/jboss-4.2.3.GA/server/default/bkp/"
DIR_DEPLOY="/home/mnt/deploy/"
SERVERLOG="less -n /AppServer/jboss/server/default/log/server.log"
INICIAJAVA=$(/etc/init.d/jBoss start 2>&1)

#############################
#                           #
#        FUNÇÕES:           #
#                           #
#############################

IniciaJava () {
/etc/init.d/jBoss start
}

MataJava () {
ps aux | grep java | grep -v grep| awk '{print $2}' | xargs kill -9
}

# Verifica se passou o nome do jira como argumento
if [[ $# = 0 ]]; then
        echo -e "\033[43;1mInforme o nome do JIRA como argumento.\033[m"
        echo -e "\033[46;1mEx..: $(basename "$0") CALL-1xxx\033[m"
        exit 0

elif [ ! -d ${DIR_DEPLOY}$1 ]; then
        echo -e "\033[41;1mO diretório $1 não existe! Favor verificar manualmente.\033[m"
        exit 1

elif [ ! -f ${DIR_DEPLOY}$1/wap-pw-*.war ]; then
        echo "Diretório vazio. Favor comunicar ao solicitante que ele não subiu o(s) artefato(s)."
        exit 1

# Se o arquivo existir, passa pro próximo passo...
elif [ -f ${DIRMTG}wap-pw-*.war ]; then
        #Backup
mkdir -p ${DIRBKP}$1 && mv --backup ${DIRMTG}wap-pw-*.war ${DIRBKP}$1
        echo -e "\033[44;1mBackup realizado!\033[m" && sleep 2 ; MataJava

        cp ${DIR_DEPLOY}$1/wap-pw-*.war "$DIRMTG" && $INICIAJAVA \
        && echo "Abrindo arquivo de log..." ; sleep 2 ; $SERVERLOG
fi

Em 14 de novembro de 2017 14:52, Sidney Souza address@hidden [shell-script] <address@hidden> escreveu:
 

Acho que é melhor você colocar o conteúdo do script aqui para que possamos entender melhor sua dificuldade e tentar ajudar, mas adianto que o seu problema pode ser permissão porque para iniciar processo é necessário o usuário root.

------------------------------------------------------
http://www.politicos.org.br

2017-11-14 14:05 GMT-02:00 Alyson Franklin address@hidden [shell-script] <address@hidden.br>:
 

Fala Sidney,
não funciona! 

Coloquei a variável como "INICIAJAVA=$(/etc/init.d/jBoss start 2>&1)"
e chamei ela com $INICIAJAVA E "$INICIAJAVA" PROTEGIDA COM ASPAS. MESMO ASSIM SEM SUCESSO.
JBOSS_CMD_START: command not found

Quando chamo a variável protegendo com "aspas",dá erro de arquivo ou diretório não encontrado.

JBOSS_CMD_START = cd /AppServer/jboss/bin; /AppServer/jboss/bin/run.sh -c default -b 0.0.0.0: No such file or directory


Em 14 de novembro de 2017 13:42, Sidney Souza address@hidden [shell-script] <address@hidden.br> escreveu:
 

Veja se isso funciona como você espera.

INICIAJAVA=$(/etc/init.d/jBoss start 2>&1)

------------------------------------------------------
http://www.politicos.org.br

2017-11-14 12:55 GMT-02:00 Alyson Franklin address@hidden [shell-script] <address@hidden.br>:
 

Boa tarde, meus amigos! 
Estou com um probleminha diferente. 

Criei um script para realizar deploy de uma aplicação e, uma das variáveis que tem no script é: INICIAJAVA=$(/etc/init.d/jBoss start). O problema é que dentro do script essa variável simplesmente não funciona e nem sequer exibe erro. 

Eu já coloquei a variável de várias formas. Algumas tentativas:
INICIAJAVA="/etc/init.d/jBoss start"
INICIAJAVA=`/etc/init.d/jBoss start`
INICIAJAVA=$(/etc/init..d/jBoss start)

Indo mais fundo, resolvi tirar a variável e criar uma função, e pra minha surpresa também não tive sucesso e mais uma vez nenhum erro foi exibido. 

Eu já debuguei o script, verifiquei se tinha erro de sintaxe, porém não encontrei nada.

Depois de tudo isso, resolvi jogar essa variável dentro de um script teste.sh. Esse script contém apenas duas linhas, que são:
INICIAJAVA=$(/etc/init.d/jBoss start)
$INICIAJAVA

Dentro desse candango funcionou normalmente, mas dentro do script original que tem um pouco mais de 100 linhas, ela não funciona e nem exibe erro. 

Alguém já teve esse problema? 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]