bash에서 작업의 쉘 스크립트 중 하나를 실행하는 타사 스케줄러가 있습니다.
쉘 스크립트가 호출되면 명령줄에서 스케줄러의 환경 변수를 $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
쉘 스크립트 런타임 출력의 경우 다음을 얻습니다.
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}"