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 use a file-deleting program named del that asks before deleting each file:
%del *Remove file1?yRemove file2?y...
If you answer 
y
, then the file will be deleted.
What if you want to run a command that's going to 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 in 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 *
NOTE: Not all UNIX commands read their standard input for answers to prompts. If a command opens your terminal ( /dev/tty ( 45.20 ) ) directly to read your answer,
yeswon't work. Try expect ( 9.26 ) instead.
| yes | yes knows how to say more than just y or n . Article 42.7 shows how to test a terminal with yes . | 
|---|
-