Como faço para redirecionar stdin de um shell script para um comando no shell script?
Pergunta
Como posso redirecionar stdin de um shell script para um comando no shell script? Eu estou tentando passar o stdin a um java fluxo System.in.
Eu quero substituir
find . -type f | $JAVA_HOME/bin/java com.domain.BatchProcess
com
find . -type f | ./batch.sh
Solução
Se o comando:
$JAVA_HOME/bin/java com.domain.BatchProcess
está esperando a entrada de stdin, em seguida, colocá-lo em um script e executar o seu segundo comando irá funcionar.
Outras dicas
Se você exec o comando dentro do script, ele irá substituir o shell e herdá-la de descritores de arquivos, incluindo stdin, stdout e stderr.
Ele faz isso automaticamente.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow