parallel --dry-run wget {1} :::: <(echo "http:://a&b")

产生
wget http:://a\&b

如何在 \ 之前防止 & ?我试过选项 -q ,但输出是一样的。

最佳答案

您使用 eval :

parallel --dry-run eval wget {1} :::: <(echo "http:://a&b")

但是,在 URL 中,您通常希望进行转义,否则您将在后台启动 wget 并运行命令 b

这是一个(人为的)示例,它确实有意义:
parallel eval echo {} :::: <(echo "this & echo that")

手册页中有一个不太人为的示例:https://www.gnu.org/software/parallel/man.html#EXAMPLE:-Aggregating-content-of-files

关于bash - 不打算转义的 GNU 并行转义字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54936933/

10-15 05:15