3

We have a 3rd party scheduler that runs one of our job's shell scripts in bash.

When the shell script is called, it sets the environment variables from the scheduler as $1, $2, $3, etc on the command line.

Coming from our scheduler we have:

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

So, in our script I have:

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

And for the shell script runtime output I am getting:

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

instead of 520 for TYPE_RELN_IDS. Is there an issue with the 12th environment variable limit I am missing?

closed as off-topic by Gilles, Ramesh, jasonwryan, slm Apr 22 '15 at 2:11

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions describing a problem that can't be reproduced and seemingly went away on its own (or went away when a typo was fixed) are off-topic as they are unlikely to help future readers." – Gilles, Ramesh, jasonwryan, slm
If this question can be reworded to fit the rules in the help center, please edit the question.

2

Looks like your dollar sign in the 12th variable is in the wrong place.

export TYPE_RELN_IDS="{$12}" should be export TYPE_RELN_IDS="${12}"

  • holy crap, dyslexia strikes again lol....thanks !! – dave111 Apr 21 '15 at 17:28
  • Sure thing - no problem. – Caja Apr 21 '15 at 18:22

Not the answer you're looking for? Browse other questions tagged or ask your own question.