Problema Variável de Ambiente Bash [fechado]

3

Temos um agendador de terceiros que executa um dos scripts de shell do nosso trabalho no bash.

Quando o script de shell é chamado, ele define as variáveis de ambiente do agendador como $1 , $2 , $3 , etc na linha de comando.

Vindo do nosso agendador, temos:

FILE_PATH1="/opt/shared/script1.sh"
FILE_PATH2="/opt/shared/script2.sh"
PROCESS_ID="SYNC1"
TYPE_RELN_IDS="520"

Então, no nosso script eu tenho:

export FILE_PATH1="$1"
export FILE_PATH2="$2"
...
export PROCESS_ID="${11}"
export TYPE_RELN_IDS="{$12}"
...
echo "PROCESS_ID =" $PROCESS_ID
echo "TYPE_RELN_IDS =" $TYPE_RELN_IDS

E para a saída do runtime do shell script estou recebendo:

PROCESS_ID = SYNC1
TYPE_RELN_IDS = {/opt/shared/script1.sh}

em vez de 520 para TYPE_RELN_IDS . Existe um problema com o limite da 12ª variável de ambiente que estou perdendo?

    
por dave111 21.04.2015 / 18:25

1 resposta

2

Parece que seu cifrão na 12ª variável está no lugar errado.

export TYPE_RELN_IDS="{$12}" deve ser export TYPE_RELN_IDS="${12}"

    
por 21.04.2015 / 18:27