다른 매개변수를 사용하여 동일한 명령을 병렬로 실행

다른 매개변수를 사용하여 동일한 명령을 병렬로 실행

나는 xargs가 바로 이 목적을 위한 것이라고 생각하는데, 사용해 보았지만 알 수 없었습니다.

주문이 있어요 foo -bar 123 --baz=whatever. Bash 문이 쌍을 이루지 않는 한 세 개의 복사본을 병렬로 실행하기를 원합니다 123. 첫 번째 복사본은 123, 두 번째 복사본은 234, 세 번째 복사본은 입니다 345. 이 세 가지 명령을 동시에 실행하고 싶습니다.

어떻게 해야 하나요?

답변1

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

또는:

echo 123 234 345 | xargs -P3 -n1 -J% foo -bar % --baz=quux

관련 정보