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

时间:2016-10-20 11:44:21

标签: bash shell unix 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

这里是将从SCRIPT1

中捕获参数的SCRIPT2
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      >>>>>"

1 个答案:

答案 0 :(得分:1)

第一个脚本可以用一行代替

"$DIR"/SCRIPT2 "$@"

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