不打算转义的 GNU 并行转义字符
GNU parallel escaped character that is not intend to escape
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
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