在 Perl 中,是否可以让 'exec'、'system' 和 'qx' 使用 /bin/sh 以外的 shell(不使用像 'exec "$SHELL -c ..."' 这样的结构,并且不使用重新编译perl)?
编辑:这个问题的动机是一个bash脚本,它执行'export -f foo',然后在子shell中使用perl通过'system“foo”'直接调用该函数。我不确定这种技术是否适用于所有 sh,虽然 'system "/bin/bash -c foo"' 可能在那种情况下工作,但我不希望导出的函数通过 /bin/ 的所有变体传播嘘。但大多数时候我只是好奇,现在很好奇如何将解决方案扩展到 qx。另外,由于我对非 unix 平台一无所知,我想避免在解决方案中硬编码到备用 shell 的路径。