이것에 대한 재미있는 답변을 찾았지만 유용성은 실행하려는 명령에 달려 있습니다.
xargs를 사용하여 기본적으로 명령 목록을 어셈블하는 경우 xargs에 명령을 에코 한 다음 bash로 파이핑하여이 동작을 수행 할 수 있습니다.
예를 들어, 존재하거나 존재하지 않는 것의 목록을 삭제하려는 경우 :
# presume this will fail in a similar way to your command
cat things_to_delete | xargs -n1 delete_command_that_might_exit
# instead echo the commands and pipe to bash
cat things_to_delete | xargs -n1 echo delete_command_that_might_exit | bash
xargs는 항상 에코 만 호출하므로 오류가 발생하지 않기 때문에 작동합니다. 두 번째로, bash의 기본 동작이 실패한 명령문 후에 실행을 계속하기 때문입니다.
필자의 경우에 대해 더 구체적으로 설명하기 위해 AWS ElasticBeanstalk에서 오래된 애플리케이션 버전을 제거하는 데 사용했습니다.
aws elasticbeanstalk describe-application-versions --application-name myapp |\
jq -r '.ApplicationVersions | sort_by(.DateCreated) | .[0:-10] | .[].VersionLabel' |\
xargs -n1 \
echo aws elasticbeanstalk delete-application-version \
--delete-source-bundle --application-name myapp --version-label |\
bash
sh -c
나를 위해 wors를 사용 !