Spouštím skript, který vyžaduje zadání „y“ při každé operaci, hledám řešení jako $ ./script < echo 'yyyyyyyyyyyyyy' předat všechny své vstupy najednou.
Nejlepší odpověď
 Existuje příkaz vytvořený speciálně pro tento případ:yes 
$ yes | ./script
 
 Tím se připojí výstup yes na vstup ./script . Takže když ./script požádá o vstup uživatele, místo toho dostane výstup yes . Výstup yes je nekonečný proud y následuje nový řádek. Takže v podstatě jako by uživatel zadával y pro každou otázku ./script .
 Pokud chcete říct ne (n ) místo yes (y ) můžete to udělat takto:
$ yes n | ./script
 
 Všimněte si, že některé nástroje mají možnost vždy předpokládat yes jako odpověď. Viz například zde:Vynechejte výzvu ano/ne v ‘apt-get upgrade’
Další způsoby zadávání vstupu:
 Pokud přesně víte, kolik y váš skript očekává, že to můžete udělat takto:
$ printf 'ynynyn' | ./script
 
 Nové řádky (n ) jsou klávesy Enter.
 Pomocí printf místo yes máte jemnější ovládání vstupu:
$ printf 'yesnnonmayben' | ./script
 V některých vzácných případech příkaz nevyžaduje, aby uživatel po znaku stiskl klávesu Enter. v tom případě vynechejte nové řádky:
$ printf 'yyy' | ./script
 Pro úplnost můžete také použít dokument zde:
$ ./script << EOF
y
y
y
EOF
 Nebo pokud to váš shell podporuje, řetězec zde:
$ ./script <<< "y
y
y
"
 Nebo můžete vytvořit soubor s jedním vstupem na řádek:
$ ./script < inputfile
 Pokud je příkaz dostatečně složitý a výše uvedené metody již nestačí, můžete použít očekávat.
Zde je příklad super jednoduchého očekávaného skriptu:
spawn ./script
expect "are you sure?"
send "yesr"
expect "are you really sure?"
send "YES!r"
expect eof
 Technický hnidopich:
Hypotetické vyvolání příkazu, které jste uvedli ve své otázce, nefunguje:
$ ./script < echo 'yyyyyyyyyyyyyy'
bash: echo: No such file or directory
 Je to proto, že gramatika shellu umožňuje operátor přesměrování kdekoli v příkazovém řádku. Pokud jde o shell, váš hypotetický příkazový řádek je stejný jako tento řádek:
$ ./script 'yyyyyyyyyyyyyy' < echo
bash: echo: No such file or directory
 
 To znamená ./script bude voláno s argumentem 'yyyyyyyyyyyyyy' a stdin dostane vstup ze souboru s názvem echo . A bash si stěžuje, protože soubor neexistuje.