From owner-freebsd-bugs Mon Jun 3 12:39:27 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA12647 for bugs-outgoing; Mon, 3 Jun 1996 12:39:27 -0700 (PDT) Received: from george.lbl.gov (george.lbl.gov [128.3.196.93]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id MAA12632 for ; Mon, 3 Jun 1996 12:39:22 -0700 (PDT) Received: (jin@localhost) by george.lbl.gov (8.6.10/8.6.5) id MAA26616; Mon, 3 Jun 1996 12:39:13 -0700 Date: Mon, 3 Jun 1996 12:39:13 -0700 From: "Jin Guojun[ITG]" Message-Id: <199606031939.MAA26616@george.lbl.gov> To: bugs@freebsd.org, problem@bsdi.com Subject: sh bug Sender: owner-bugs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk The sh in BSD does not take "-" as the argument in if statement if the statement has more than one comparsions. The following line are generating errors: if [ "$1 = "-h" -o "$1" = "-help" ]; then ... fi if [ "$1 = "-h" -o 1 -le 2 ]; then ... fi if [ \( "$1 = "-h" \) -o \( "$1" = "-help" \) ]; then ... fi ERROR: + [ -h = -h -o -h = -help ] [: syntax error: Undefined error: 0 but, it works in a single argument if statement: if [ "$1 = "-h" ]; then ... fi Would some one please fix it? -Jin