我试图使用xargs并行调用一个更复杂的函数。
#!/bin/bash echo_var(){ echo $1 return 0 } seq -f "n%04g" 1 100 |xargs -n 1 -P 10 -i echo_var {} exit 0
这将返回错误
xargs: echo_var: No such file or directory
任何关于如何使用xargs来完成这个任何想法,或任何其他解决方案将受到欢迎。
谢谢!
导出函数应该做(未测试):
export -f echo_var seq -f "n%04g" 1 100 | xargs -n 1 -P 10 -I {} bash -c 'echo_var "$@"' _ {}
您可以使用内置printf而不是外部seq:
printf "n%04g\n" {1..100} | xargs -n 1 -P 10 -I {} bash -c 'echo_var "$@"' _ {}
原文地址:https://www.jb51.cc/bash/392104.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。