Символ параллельного экранирования GNU, который не предназначен для экранирования - PullRequest
0 голосов
/ 01 марта 2019
parallel --dry-run wget {1} :::: <(echo "http:://a&b")

производит

wget http:://a\&b  

Как мне предотвратить \ до &?Я пробовал вариант -q, но вывод такой же.

1 Ответ

0 голосов
/ 01 марта 2019

Вы используете 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

...