使用 bash 数组作为内置参数列表(使用 Midnight Commander)

使用 bash 数组作为内置参数列表(使用 Midnight Commander)

我在弄清楚如何使用 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 “不安全”。这在技术上有多令人担忧?

相关内容