関数ShowJobHistoryがあり、別の関数から呼び出されています。この関数を最初に呼び出すと、すべてが正常に機能し、適切な数の引数がカウントされ、必要に応じて解析されます。しかし、次の呼び出しでは、複数の引数を指定しても、この関数はそれらを1つとして扱い、解析後に(jb.RJBGID = 12871 12873 12868)に見えます。私の機能の何が問題になっていますか?
ShowJobHistory () {
conditions=
argCount=$#
if [[ $argCount -ne 0 ]] then
if [[ $1 == [iI] && $argCount -eq 3 ]] then
if [[ $2 -lt $3 ]] then
conditions="( jb.RJBGID between $2 and $3 )"
else
conditions="( jb.RJBGID between $3 and $2 )"
fi
else
conditions="("
for nr in $@
do
conditions="${conditions} jb.RJBGID=${nr} or "
done
conditions=${conditions%or }
conditions=$conditions")"
fi
typeset query
以下の関数はShowJobHistoryを呼び出します。
ShowJobHistoryMenu () {
typeset jobID
save=
echo "Enter jobIDs"
read jobID?"Enter jobID: "
while [[ $save != [nNyY] ]]
do
read save?"Save output to file? [y/n]"
done
if [[ save = [yY] ]] then
ShowJobHistory $jobID | tee $TRACEDIR/output.txt
else
ShowJobHistory $jobID
fi
}