KSH :我无法从另一个脚本获取参数的值



我是Unix和shell脚本的新手所以问题在WHILE CASE部分,我正在运行像这样的脚本

 . SCRIPT1 123

这里是script1

while [ $# -gt 0 ]
do 
ParamLine="$ParamLine $1"
shift
done
$DIR/SCRIPT2$ParamLine  
if [ $? -ne 0 ]
then
   exit 1
fi

这里是SCRIPT2它将从SCRIPT1

捕获参数
from_prg=genresourceshortage
to_prg=genresourceshortage
batchdate=$BOM_BATCH_DATE

echo "THIS IS THE FIRST PARAMETER "$1

while [ $# -gt 0 ]
do
case $1 in
     from=*) from_prg=`echo $1 | cut -c6-`    ;;
       to=*) to_prg=`echo $1 | cut -c4-`      ;;
       oc=*) to_prg=`echo $1 | cut -c4-`      ;;
        -d*) shift
             batchdate=$1                     ;;
          *) echo "<<<<< Invalid restart parameter >>>>>"
             echo "<<<<<        Job Abandoned      >>>>>"
             exit 1                           ;;
esac
   shift
done
#THE CODE IS NOT REACHING THIS PART 
rj $DIR/SCRIPT3from=$from_prg to=$to_prg -d $batchdate

我怎么能得到我从SCRIPT1传递到SCRIPT2参数的值?因为我也会在我的SCRIPT3中使用它。

显示默认情况,这部分

echo "<<<<< Invalid restart parameter >>>>>"
echo "<<<<<        Job Abandoned      >>>>>"

第一个脚本可以用一行

代替
"$DIR"/SCRIPT2 "$@"

试图将参数压缩为单个平面字符串是错误的。

最新更新