필자는 매개 변수 형태로 값을 전달하는 UNIX 셸 스크립트를 가지고 있습니다. 모든 것이 제대로 작동하는 것처럼 보이지만 매개 변수 하나가 아닌 것 같습니다. 그러나 echo 명령으로 인쇄 된 것을 볼 수 있습니다.매개 변수 변수가 추가되지 않음
는 스크립트 :
#!/bin/bash
admPath=$1
admdatatype=$2
admeaimethod=$3
admprefix=$4
gatewayname=$5
enterpriseName=$6
userId=$7
password=$8
admFilter=$9
echo "$admPath"
echo "$admdatatype"
echo "$admeaimethod"
echo "$admprefix"
echo "$gatewayname"
echo "$enterpriseName"
echo "$userId"
echo "$password"
echo "$admFilter"
srvrmgr -g "$gatewayname" -e "$enterpriseName" -s gepfdevss -u "$userId" -p "$password" -c "run task for comp ADMBatchProc with admpath="$admPath", admdatatype="$admdatatype", admfilter="'$admFilter'", admeaimethod=$admeaimethod, admprefix="$admprefix"" -b >> exportLOVStatus.out
당신은 내가 하나 개의 매개 변수를 불렀다 볼 수 있듯이 값이 내가 '[List Of Values Parent (UDA).Value]=\"XRX_TEST\"'
로 전달하려는 admFilter
. 난 스크립트 상기 실행하면
난 아래와 같이 결과 에코 볼 수있다 : -
실행 - :
./exportLOV.sh "/global/u70/globepfdev/ADM" "LOV" "Upsert" "export_ADM" "gateway" "enterpriseserver" "user" "password" \''[List Of Values Parent (UDA).Value]=\"XRX_TEST\"'\'
에코 결과 : -
/global/u70/globepfdev/ADM
LOV
Upsert
export_ADM
gateway
enterprise
user
password
'[List Of Values Parent (UDA).Value]=\"XRX_TEST\"'
그러나하면서 성공적인 연결 후 서버 관리자에 대해 명령이 실행됩니다. 이 admFilter
매개 변수는 값을 읽지 않습니다. 이 run task
명령의 출력입니다 : - 당신은 다른 모든 매개 변수를 볼 수 있습니다
run task for comp ADMBatchProc with admpath=/global/u70/globepfdev/ADM, admdatatype=LOV, admfilter=$admFilter, admeaimethod=Upsert, admprefix=export_ADM
이
admFilter
에서 떨어져 그와 관련된 값을 가지고있다. 나는이 때문에 누군가가 나를 도울 수 있습니다 붙어있어. 나는 어떻게 가치를 제대로 전달할 수 있습니까 ?? 감사합니다
참조하십시오. 그 결과는'admfilter = " '$ admfilter'",' – Barmar
@Barmar 당신이 맞으면 올바른 결과를 얻을 수 있습니다. –