Tente exportar a função e, em seguida, chame-a em um subnível:
showword() {
echo $1
}
export -f showword
echo This is a sample message | xargs -d' ' -t -n1 -P2 bash -c 'showword "$@"' _
Este é o meu código
#!/bin/bash
showword() {
echo $1
}
echo This is a sample message | xargs -d' ' -t -n1 -P2 showword
Então eu tenho uma função showword
que ecoa qualquer string que você passar como um parâmetro para a função.
Então eu tenho xargs
tentando chamar a função e passar uma palavra por vez para a função e executar 2 cópias da função em paralelo. O que não está funcionando é xargs
não reconhece a função. Como posso conseguir o que estou tentando fazer, como posso fazer o xargs funcionar com a função showword
?