idallen@watmath.UUCP (12/04/84)
1) How often do you use "&&" to separate commands to a shell, and under what circumstances? 2) How often do you use "||" to separate commands, and under what circumstances? 2a) Do you use it to check for *just* the non-zero exit status of the command on the left? 2b) Do you use it to check for all errors in the command on the left, including those caused by the shell or by signals to the command? 2c) Other thoughts on the matter... 3) How often do you use "a ; b ; c" when you really mean "a && b && c" ? That is, how often do you type in a chain of two or more commands where the action of the second and later commands is dependent on the successful (zero-return) of the first, but where you don't use the conditional operator "&&"? Why don't you like to use "&&"? 4) How often do you explicitly test the exit code of a command for a specific value or range of values? (For example, do you ever test for GREP exiting with 1 but not 2 or 2 but not 1?) 5) Did you know that you can't tell an exit code of 1 from "Command not found" because the shell fakes an exit code of 1 if it can't find a command? Do you care? 6) In a command chain "a ; b ; c" do you ever want B and C to be abandoned because of some error or happening to A? Under what conditions should this abandoning happen? (Possible answers: * Never - B and C should execute no matter what happens to A * If A terminates because of the following signals: X,Y,Z * If A never gets started because it's not executable ("Command not found") or because of some other shell-detected error such as "No match", "too many processes", or "arglist too long" * None of the above) Answers by mail, please, to idallen@watmath. WATMATH talks to ihnp4, decvax, utzoo, linus, clyde, allegra. I will summarize and post.