Bash环境变量问题

Bash环境变量问题

我们有一个第 3 方调度程序,它在 bash 中运行我们作业的 shell 脚本之一。

当调用 shell 脚本时,它会在命令行上将调度程序中的环境变量设置为$1$2、等。$3

来自我们的调度程序我们有:

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

所以,在我们的脚本中我有:

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

对于 shell 脚本运行时输出,我得到:

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

而不是 520 TYPE_RELN_IDS。我缺少的第 12 个环境变量限制是否有问题?

答案1

看起来第 12 个变量中的美元符号位置错误。

export TYPE_RELN_IDS="{$12}"应该export TYPE_RELN_IDS="${12}"

相关内容