我有两个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时,它只接受每个参数的第一个单词。我已经想到了各种各样的引号,但仍然无法使用。我想念什么?