我在弄清楚如何使用 bash 数组作为参数列表时遇到了一些麻烦。到目前为止,下面的代码不起作用。
以下%s
是午夜指挥官的具体内容。
F=(%s); for i in "${F[@]}"; \
do G+=(--floppy_drive_$((n++))="\"$i\""); \
done; fs-uae ${G[*]}
问题出在这部分:
fs-uae ${G[*]}
但是,当我回显最后一条语句并使用 xargs 时,它工作正常:
Open=FMAX=2; bash -c 'F=(%s); \
for i in "${F[@]}"; \
do G+=(--floppy_drive_$((n++))="\"$i\""); \
done; echo ${G[*]}' | xargs -n $((FMAX*2)) fs-uae
另外,似乎我必须使用,bash -c
因为 MC 会抱怨语法错误。
我也将其与 MESS 一起使用,因为混乱模拟器需要诸如-cart1
、-cart2
、-flop1
等参数......
所以上面的代码作品。我可以在 Midnight Commander 中使用 Insert 键选择两个文件,然后按 Enter 键,fs-uae 就会使用我选择的软盘启动。我只是想知道是否有更好的方法在没有 xargs 的情况下做到这一点?
我听人们说 xargs “不安全”。这在技术上有多令人担忧?