Unix Power ToolsUnix Power ToolsSearch this book

14.5. Answer "Yes" or "No" Forever with yes

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 *
NOTE: 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



Library Navigation Links

Copyright © 2003 O'Reilly & Associates. All rights reserved.