Executando o mesmo comando com diferentes argumentos em paralelo [duplicado]

3

Acho que o xargs é exatamente para isso, mas eu tentei usá-lo e não consegui descobrir.

Eu tenho um comando foo -bar 123 --baz=whatever . Eu quero um one-liner Bash para executar três cópias em paralelo, exceto que eles terão um argumento diferente para 123 . Digamos que a primeira cópia seja 123 , a segunda seja 234 e a terceira seja 345 . Eu quero que os três comandos sejam executados em paralelo.

Como posso fazer isso?

    
por Ram Rachum 23.11.2016 / 22:37

1 resposta

3

for arg in 123 234 345; do 
    foo -bar "$arg" --baz=quux &
done

Alternativamente:

echo 123 234 345 | xargs -P3 -n1 -J% foo -bar % --baz=quux
    
por 23.11.2016 / 22:41

Tags