Many thanks to all those who supplied a solution, which were many and varied.
The simpliest solution was to use $_at_ as the way to pass on the parameters in quotes. This had to be enclosed in quotes itself i.e "$_at_".
So if a.sh was calling b.sh and passing over the whole argument list (some of which could be null) then a.sh should call b.sh in the following way :
b.sh "$_at_"
Again many thanks to all who replied
Original question :
Dec Unix Version 3.2d
Korn Shell
We are currently experiencing a problem when trying to pass null parameters between shell scripts.
The situation is that the first shell script is passed a set of parameters (the number of parameters is variable). This shell script then calls another shell script with the same parameter list. This is done using $*. Everything is ok as long as all the parameters have a value. e.g.
a.sh "1" "2" "3" - results in b.sh getting the parameter list 1 2 3
a.sh "1" "" "3" - results in b.sh getting the parameter list 1 3
We need a way of preserving the null parameter being passed into the second shell script. Any Ideas ?
Received on Thu Apr 24 1997 - 18:02:05 NZST