我正在编写一个 bash 脚本,其中包含大量参数。它看起来像这样:
bash script.sh 713884440 1041 691539599 Digiweb 371449356 Dublin ...
由于有大量参数,并且参数的数量因情况而异,所以我想构建一个字符串,它接受所有参数并将其置于以下形式:
element.713884440="1041" -d element.691539599="Digiweb" -d element.371449356="Dublin"...
我最初尝试编写一个 for 循环来执行此操作。对于循环的第一次迭代,我认为${$i}
首先评估为$1
,然后评估为713884440
for i in $(seq 1 2 $#)
do
ENT=$i
VAL=$i+1
ENTRYSTRING="$ENTRYSTRING -d element.${$i}=\"${${i+1}}\"";
done;
这没有用。而且我尝试过通过echo
and解析“内部”变量eval
,但这些也不起作用。我将如何做到这一点?