Come faccio a reindirizzare stdin da uno script di shell a un comando nello script di shell?
Domanda
Come faccio a reindirizzare stdin da uno script di shell a un comando nello script di shell? Sto cercando di passare lo stdin in un flusso java System.in.
Voglio sostituire
find . -type f | $JAVA_HOME/bin/java com.domain.BatchProcess
con
find . -type f | ./batch.sh
Soluzione
Se il comando:
$JAVA_HOME/bin/java com.domain.BatchProcess
si aspetta input da stdin, poi mettendolo in uno script ed eseguire il secondo comando funzionerà.
Altri suggerimenti
Se il comando exec all'interno dello script, che andrà a sostituire il guscio ed ereditare è descrittori di file, tra cui stdin, stdout e stderr.
E lo fa automaticamente.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow