I have 2 scripts. test.sh, which calls submit2.sh. One of the parameters contains space and is quoted.
[test.sh]
((((./submit2.sh Group_1_2_AMS_DAILY_CORE_GRP03 AMS AMS_D 'DAILY REPORT PROCEDURES'; echo $?>&3) | tee 1.log >&4)3>&1) | (read xs; exit $xs)) 4>&1
[submit2.sh]
echo parm 1 = $1
echo parm 2 = $2
echo parm 3 = $3
echo parm 4 = $4
echo parm 5 = $5
echo output ....
exit 42
I ran:
$ bash test.sh ; echo $?
I would expect:
parm 1 = Group_1_2_AMS_DAILY_CORE_GRP03
parm 2 = AMS
parm 3 = AMS_D
parm 4 = DAILY REPORT PROCEDURES
parm 5 =
output ....
42
I works fine in Bash shell, but not in ksh. Ksh returns
parm 1 = Group_1_2_AMS_DAILY_CORE_GRP03
parm 2 = AMS
parm 3 = AMS_D
parm 4 = DAILY
parm 5 = REPORT
output ....
42
The 4th parameter is split by word, not by the quoted text. Why is this happening? Any settiings on the Unix level?