• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/busybox/shell/hush_test/hush-bugs/
1# UNFIXED BUG: hush thinks that ; && || & have the same precedence.
2# According to this doc, && || have higher precedence than ; &.
3# See example below.
4# Precedence of ; is not a problem in practice. Precedence of & is.
5#
6#http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
7#
8#2.9.3 Lists
9#
10#An AND-OR list is a sequence of one or more pipelines separated by
11#the operators "&&" and "||" .
12#
13#A list is a sequence of one or more AND-OR lists separated by the operators
14#';' and '&' and optionally terminated by ';', '&', or <newline>.
15#
16#The operators "&&" and "||" shall have equal precedence and shall be
17#evaluated with left associativity. For example, both of the following
18#commands write solely bar to standard output:
19#
20#    false && echo foo || echo bar
21#    true || echo foo && echo bar
22#
23#A ';' or <newline> terminator shall cause the preceding AND-OR list
24#to be executed sequentially; an '&' shall cause asynchronous execution
25#of the preceding AND-OR list.
26
27echo First && sleep 0.2 && echo Third &
28sleep 0.1
29echo Second
30wait
31echo Done
32