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?
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
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 () directly to read your answer,
yeswon't work. Try instead.
|yes||yes knows how to say more than just y or n. Article 42.7 shows how to test a terminal with yes.|