Some commands — like rm -i, find -ok, and so on — ask users to answer a "do it or not?" question from the keyboard. For example, you might have a file-deleting program or alias named del that asks before deleting each file:
%del *
Remove file1?y
Remove file2?y
...
If you answer y
, then the file will be
deleted.
What if you want to run a command that will ask you 200 questions and you want
to answer y
to all of them, but you don't
want to type all those y
s from the keyboard?
Pipe the output of yes
to the command; it
will answer y
for you:
% yes | del *
Remove file1?
Remove file2?
...
If you want to answer n
to all the
questions, you can do:
% yes n | del *
Not all Unix commands read their standard input for answers to prompts. If
a command opens your terminal (/dev/tty
(Section 36.15)) directly to
read your answer, yes
won't work. Try
expect (Section 28.18) instead.
— JP