J'ai un script shell UNIX où je passe des valeurs sous la forme de paramètres. Tout semble fonctionner correctement, mais pas pour un paramètre, mais je peux le voir imprimé avec la commande echo.La variable de paramètre n'est pas ajoutée
Script-:
#!/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
Comme vous pouvez le voir j'ai un paramètre appelé admFilter
dont la valeur que je veux passer comme '[List Of Values Parent (UDA).Value]=\"XRX_TEST\"'
.
Quand j'exécute ci-dessus script que je peux voir écho résultat comme ci-dessous -:
exécution -:
./exportLOV.sh "/global/u70/globepfdev/ADM" "LOV" "Upsert" "export_ADM" "gateway" "enterpriseserver" "user" "password" \''[List Of Values Parent (UDA).Value]=\"XRX_TEST\"'\'
résultat Echo -:
/global/u70/globepfdev/ADM
LOV
Upsert
export_ADM
gateway
enterprise
user
password
'[List Of Values Parent (UDA).Value]=\"XRX_TEST\"'
Mais comme La commande est exécutée pour le Gestionnaire de serveur après une connexion réussie. Ce paramètre admFilter
ne lit pas la valeur. Ceci est la sortie pour la commande run task
-:
run task for comp ADMBatchProc with admpath=/global/u70/globepfdev/ADM, admdatatype=LOV, admfilter=$admFilter, admeaimethod=Upsert, admprefix=export_ADM
Vous pouvez voir tous les autres paramètres ont une valeur qui lui est associée à part admFilter
. Je suis coincé à cause de cela quelqu'un peut-il m'aider. Comment puis-je passer la valeur correctement ?? Merci
Je ne vois pas comment cela pourrait être. C'est le résultat que vous obtiendriez si vous aviez écrit: 'admfilter =" '$ admfilter' ",' – Barmar
@Barmar vous avez raison j'ai corrigé. –