שלום,
יש לי אוסף קבצים אשר אמורים להריץ התקנה מסויימת ע"י סקריפטי BASH.
באחד הקבצים ההתקנה נכשלת בגלל בעיה של קריאת פרמטרים.
קוד: |
<some functions and additional parameter declaration>
# Parse command line arguments
while getopts a:c:i:n:p:s:u:w:h arg; do
case $arg in
a) IP_ADDRS[${NUM_IP_ADDR}]=$OPTARG
NUM_IP_ADDR=$(( NUM_IP_ADDR + 1 ))
;;
c) PC=$OPTARG
;;
i) SDF_ID=$OPTARG
;;
n) NAME=$OPTARG
;;
p) PHASE=$OPTARG
;;
s) STACK_TYPE=$OPTARG
;;
u) APP_SSNS[${NUM_APP_SSNS}]=$OPTARG
NUM_APP_SSNS=$(( NUM_APP_SSNS + 1 ))
;;
w) PASSWD=$OPTARG
;;
h) usage
;;
?) usage
;;
\?) echo "Invalid option: -$OPTARG"
usage
;;
:)
echo "Option -$OPTARG requires and argument"
usage
;;
esac
done
<some additional calls> |
הקריאה לקובץ זה מבוצעת מקובץ אחר עם אוסף פרמטרים הבא:
קוד: |
-p install -s ITU -w pass -i 4 -c 9455 -n test101 -u 9 -a 1.1.1.1 -a 1.1.1.2 |
ניסיתי לקחת את הקובץ ולהריץ אותו ב cygwin ובמוד debug לראות מה קורה בקטע קוד הנ"ל, אבל הפלט היחידי שאני רואה זה רק את
קוד: |
getopts a:c:i:n:p:s:u:w:h arg |
ולאחר מכן הוא קופץ לפקודה הבאה שמדיעה אחרי לולאת ה while.
אשמח לעזרה מה חסר פה.
תודה