답변:
당신은 사용할 수 있습니다 xargs
로, -t
플래그 xargs
장황하고 그것을 실행 명령을 출력한다 :
./command1 | xargs -t -n1 command2
-n1
의 모든 호출에 전달되는 최대 인수를 정의합니다 command2
. 다음이 실행됩니다.
command2 word1
command2 word2
command2 word3
한 번의 command2
사용 호출의 인수로 모든 것을 원한다면 다음을 수행하십시오.
./command1 | xargs -t command2
3 개의 인수로 command2를 호출합니다.
command2 word1 word2 word3
'명령 대체'를 원합니다. 즉, 하나의 명령 출력을 외부에 포함
command2 $(command1)
전통적으로 이것은 다음과 같이 수행 될 수도 있습니다.
command2 `command1`
그러나이 사용법은 중첩 할 수 없으므로 일반적으로 권장되지 않습니다.
예를 들면 다음과 같습니다.
test.sh:
#!/bin/bash
echo a b c
test2.sh
#!/bin/bash
echo $2
사용하다:
./test2.sh $(./test.sh)
b
ARG_MAX
어떻게됩니까? 파일의 내용을 함수에 전달하는 시나리오가 있습니다.