用空格将参数传递到shell子脚本中

时间:2018-11-30 19:17:59

标签: bash shell arguments parameter-passing

我有两个bash / shell脚本,其中一个将多个参数传递给另一个。对于上下文,该信息来自包含客户地址和订单号的条形码扫描仪。使用标志(-A -CN -O)

./ scriptA.sh

queryDict=dict(QueryDict)

./ scriptB.sh

echo "please scan in customer information"
read scan

./scriptB.sh $scan ## also tried "$scan" 
echo "DONE"

当我从命令行直接手动输入./scriptB.sh时,得到了预期的结果(见下文)

while [ "$1" != "" ]; do
case $1 in

-A )   shift
       address=$1
       ;;

-CN )  shift
       name=$1 
       ;;

-O )   shift
       order=$1
       ;;

* )    echo "Unknown Args"
       exit 1
   esac
   shift
done

当我有./scriptA.sh发送相同的信息到./scriptB.sh时,它只接受每个参数的第一个单词。我已经想到了各种各样的引号,但仍然无法使用。我想念什么?

0 个答案:

没有答案