这是GNU并行文档中的一个示例程序,可通过shell脚本shebang执行。
#!/usr/bin/parallel --shebang-wrap --colsep " " /bin/bash
echo Arguments: $@
的输出
./bash_echo.parl gracias 'buenos dias'
是
gracias
buenos
dias
以上脚本无法处理被引号引用且包含空格的命令行参数。参数会被展开并视为单独的输入。
如何才能像下面的bash脚本一样获得正确的输出呢?
#!/usr/bin/env bash
for i in "$@"; do
echo "$i"
done
显然,这个处理引用的命令行参数。
输出:
gracias
buenos dias
我尝试使用选项“colseps”将分隔符设置为“ ”,但这不是解决方案。
./script "$(printf "%q " gracias 'buenos dias')"
... - KamilCuk