Package: bash Version: 3.1dfsg-9 Severity: minor In the SHELL GRAMMAR section, the bash man page first describes (simple) commands and pipeplines, then lists:
A list is a sequence of one or more pipelines separated by one of ^^^^^^^^^ the operators ;, &, &&, or ||, and optionally terminated by one of ;, &, or <newline>. but a few lines later, it talks about commands instead of pipelines: [...] An AND list has the form command1 && command2 command2 is executed if, and only if, command1 returns an exit status of zero. An OR list has the form command1 || command2 command2 is executed if and only if command1 returns a non-zero exit status. The return status of AND and OR lists is the exit status of the last command executed in the list. Also, though the man page says that && and || have equal precedence, it doesn't say which associativity. For instance, is it (1) list && pipeline or (2) pipeline && list ? For instance, in pipeline1 || pipeline2 && pipeline3 where pipeline1 returns 0 (true) and pipeline2 returns 1 (false): Case 1: list "pipeline1 || pipeline2" is executed. As pipeline1 is true, pipeline2 is not executed. And as the list is true, pipeline3 is executed. Case 2: pipeline1 is executed, and as it is true, the list "pipeline2 && pipeline3" is not executed, i.e. neither pipeline2, nor pipeline3. It seems to be Case 1 (left associative): $ true || false && echo case1 case1 So, I suppose that the above should be replaced by: [...] An AND list has the form list && pipeline pipeline is executed if and only if list returns an exit status of zero. An OR list has the form list || pipeline pipeline is executed if and only if list returns a non-zero exit status. The return status of AND and OR lists is the exit status of the last pipeline executed in the list. -- System Information: Debian Release: lenny/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.24.3-20080226 (SMP w/2 CPU cores; PREEMPT) Locale: LANG=POSIX, LC_CTYPE=en_US.ISO8859-1 (charmap=ISO-8859-1) Shell: /bin/sh linked to /bin/bash Versions of packages bash depends on: ii base-files 4.0.2 Debian base system miscellaneous f ii debianutils 2.28.4 Miscellaneous utilities specific t ii libc6 2.7-9 GNU C Library: Shared libraries ii libncurses5 5.6+20080203-1 Shared libraries for terminal hand Versions of packages bash recommends: pn bash-completion <none> (no description available) -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]