From owner-freebsd-questions@freebsd.org Fri Jan 15 04:31:37 2016 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6ACAAA82447 for ; Fri, 15 Jan 2016 04:31:37 +0000 (UTC) (envelope-from nibbana@gmx.us) Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mout.gmx.net", Issuer "TeleSec ServerPass DE-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CBDFE1F23 for ; Fri, 15 Jan 2016 04:31:36 +0000 (UTC) (envelope-from nibbana@gmx.us) Received: from mail.gmx.com ([72.251.118.20]) by mail.gmx.com (mrgmx102) with ESMTPA (Nemesis) id 0MLR30-1aKU0f3mt8-000ZPR for ; Fri, 15 Jan 2016 05:31:33 +0100 Date: Thu, 14 Jan 2016 19:32:39 -0900 From: "CK" To: Cc: Subject: Sh-test, bug or not? Reply-To: "CK" X-Mailer: UMail v1.0 Message-ID: <0LwGDy-1a6CqZ3TAs-0186MD@mail.gmx.com> X-Provags-ID: V03:K0:nX0kGkHeIgGnjz/ZDXcsiFu3IIYkKxDgRC7lCNiHbcFrQwyH6vl kicL0LoDRo344Ee6RnBGqYBvg392iHY8K1X/eaC65jgD9SgvT/XGQ1JH74Y80SbUL6Wx02n /rqLkwkSh9olNi33uSVAD9knRQTns60wiEGXov80EgVat/kMpPQxq7EKqKDnm7VmbjlsA9P mGGbp4JTezUSW0/h8j49A== X-UI-Out-Filterresults: notjunk:1;V01:K0:G4NsBqmvr5w=:yyGHamcMgWxAi247VOxViq Qx6jOOD7nSGtetwfTwCSAWX9/w3rlrhzAn16hKcHIJx5ga1QUiPXNwlXSc4fa3N+nXMN6ehqS UETgOThUgaxSlpRGLd9xlMq10l4M8KKUNNDcDD9Cq1KtjJMTYp0Hgr/wBsIFpeWVNlnQtWTFV GlE0PqGNdmhRKuvVfS37OMn9OcJ43f6KWegq71CW5M/v7f0YTPVlkAE9xgr5bnmSnSA5hdiyD Yum+2DSOlg5G0lT44M1wDvoEFsepoQLYL3eoRX+BpcfZPT3UazYShJy2Q3AvUXTU0mLTp/uoT Cc0Sb3T+uascXbMZZfCG4qdAUAnT3C/lyYQ8Y/Y+ib6M4e1ypzCXLLv3i6ATNfKSsgNRjgqaS qqrzT0k1b9m9K1zDADCY5423pB5MOG8TIVJrNhlu/4YmwclR989/Mz6peo9Sug8rarZ1hR8nX NXkovsAvsFgkQdgHZu1NdM5NC96DpubVVmcpj8ZJgruvSvtw9dxATMBinfaFrZo648seNrEF4 olTO11RI8Kq5zPfm/h8aj+0i868VIYpyDP2rKBZPQAFNoj/u6W8Yqf5trEsF0E8VYZ5HtF3ii w12JmcwTuPjYidhx4V4CRCoecRUEJcWUFiFA8nVOoaulZPzQlyQZK/75/9eMDGJ+25FqLFPtj /pdNODw5lI6T9JkS2PL3Lz3ENXMGcHksUMzOShPEpciZRyGFjduwXieZHviXbbsdaOi0D1g+c ky5Go3PosDTZEltARnpRjk2k+GQDJmhjdIDvdrpCxSce/LUmS9UuEIlsW3A= X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jan 2016 04:31:37 -0000 If you have authoritative knowledge on the subject, please state if this functionality is correct: $ [ ! "" -a "" ] && echo pass || echo fail pass $ [ ! 11 -a "" ] && echo pass || echo fail pass The "-a" operator binds stronger than the "!" operator. Intuition based on functionality in awk/C would suppose that the "!" operator would bind stronger than the "-a" operator, especially since "-a" does in fact have higher precedence than the "-o" operator, as in awk/C. In order to make it work as "expected", it gets ugly: $ [ ! "" -a "" ] && echo pass || echo fail pass $ [ \( ! "" \) -a "" ] && echo pass || echo fail fail $ [ ! 11 -a "" ] && echo pass || echo fail pass $ [ \( ! 11 \) -a "" ] && echo pass || echo fail fail I never noticed this in 20 years, so I don't know if it always worked this way, or if something changed in my upgrade from 4.11 to 9.3.