1
我有一個UNIX shell腳本,我在參數的形式傳遞值。一切似乎工作良好,但不是一個參數,但我可以看到它與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
正如你可以看到我有一個參數叫做admFilter
我想通過爲'[List Of Values Parent (UDA).Value]=\"XRX_TEST\"'
其值。
當我執行上面的腳本我可以看到如下回聲結果 - :
執行 - :
./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你是對的,我糾正了。 –