xargs에 정의 된 함수를 사용하는 방법


16

이것은 내 코드입니다

#!/bin/bash

showword() {
  echo $1
}

echo This is a sample message | xargs -d' ' -t -n1 -P2 showword

그래서 showword매개 변수로 전달하는 문자열을 함수 에 에코하는 함수가 있습니다.

그런 다음 xargs함수를 호출하고 한 번에 한 단어 씩 함수에 전달하려고 시도하고 함수의 사본 2 개를 병렬로 실행했습니다. 작동 xargs하지 않는 것은 기능을 인식하지 못하는 것입니다 . 내가하려는 일을 어떻게 달성 할 수 있습니까, 어떻게 xargs를 함수와 함께 사용할 수 showword있습니까?


답변:


25

함수를 내 보낸 다음 서브 쉘에서 호출하십시오.

showword() {
  echo $1
}

export -f showword
echo This is a sample message | xargs -d' ' -t -n1 -P2 bash -c 'showword "$@"' _

고마워,하지만 내 대답에 대해 어떻게 생각하니?
GMaster

@ FazleA : 나는 그것에 대해 의견을 말하려고하지만 여기에 묻기 때문에 여기에 대답 할 것입니다. 에 매개 변수를 전달하지 않았으므로 작동하지 않습니다 showword.
cuonglm

2
하나 더 질문, 왜 후행이 필요합니까? xargs가 다른 것을 처리하지 못하게합니까?
GMaster


내가 수출 할 때 "수출 : 불법 옵션 -f"가 표시됩니다 -f
Sagar Chamling
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.