xargs
빌드 및 실행 사용 방법명령 목록예를 들면 다음과 같습니다.
#1
cmd1 <arg1> && cmd2 <arg1> && cmd3 <arg1>
#2
cmd1 <arg1> ; cmd2 <arg1>
답변1
각 입력 줄에 대해 하위 쉘을 시작합니다 xargs
.
xargs -I {} sh -c 'cmd1 "$1" && cmd2 "$1" && cmd3 "$1"' sh {}
xargs -I {} sh -c 'cmd1 "$1"; cmd2 "$1"' sh {}
이 명령은 sh -c
주어진 문자열을 쉘 스크립트로 실행합니다. sh -c
매개변수는 스크립트 자체 뒤 $0
와 $1
스크립트 내부에 제공됩니다. 값은 $0
일반적으로 쉘의 이름이어야 하며, 이것이 바로 sh
이 매개변수로 전달하는 이유입니다(오류 메시지에서 사용됩니다).
또는,
xargs sh -c '
for arg do
cmd1 "$arg" && cmd2 "$arg" && cmd3 "$arg"
done' sh
xargs sh -c '
for arg do
cmd1 "$arg"
cmd2 "$arg"
done' sh
이러한 변형은 가능한 한 많은 매개변수를 취한 다음 sh -c
스크립트 내의 루프에서 해당 매개변수에 코드를 적용합니다.
항상 그렇듯이 를 사용할 때는 주어진 유틸리티(여기)에 제공된 인수를 적절하게 분리 xargs
하도록 주의해야 합니다 .sh -c