From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from zero.zsh.org (zero.zsh.org [IPv6:2a02:898:31:0:48:4558:7a:7368]) by inbox.vuxu.org (Postfix) with ESMTP id A4B6228F0E for ; Tue, 5 Mar 2024 06:03:41 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Transfer-Encoding: Content-Type:Subject:Cc:To:From:Date:References:In-Reply-To:Message-Id: MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=F2SZA257zf4ySShK0fppbCJAJqAUKTEH7+skE0pSxQg=; b=DOx9QZ5uam8dxVkXC9K/IreUdH 2j3hyxsy6TwNMX9iQQxnVnjgxUujRSB5IYAPp4g8PFfxA0OlxsnrROnJLCEDINFyNqmsxmlHrLKB3 f9qhZySminPIn58HrLZz8n1X9eWxOipYDmTI9WB4TbL8OWkdr3SlXHh9opeuxpB77YR9lYdPEpdD5 UPMUc+Hm91aD/T0usNnBegjiE6/ScQJmfvOYgyzAK7WKXGH1ASZHRYyJ2fjomF8EJ8NH9ycsxxbnQ SrN+Jrb1qulHyv63QsFW3stOeLEpVypi2SvfdiMqxWe36CcG6hsdhiETJ0Q/D62dzNmlVbHeIdPyi mCBKDwlA==; Received: by zero.zsh.org with local id 1rhMxo-000FDI-IO; Tue, 05 Mar 2024 05:03:40 +0000 Received: by zero.zsh.org with esmtpsa (TLS1.3:TLS_AES_256_GCM_SHA384:256) id 1rhMxE-000EWg-5J; Tue, 05 Mar 2024 05:03:04 +0000 Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailfauth.nyi.internal (Postfix) with ESMTP id 8E31B1200043; Tue, 5 Mar 2024 00:03:02 -0500 (EST) Received: from imap48 ([10.202.2.98]) by compute2.internal (MEProxy); Tue, 05 Mar 2024 00:03:02 -0500 X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrheekgdejiecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefofgggkfgjfhffhffvvefutgfgsehtqhertderreejnecuhfhrohhmpefnrgif rhgvnhgtvgcugggvlhojiihquhgviicuoehlrghrrhihvhesiihshhdrohhrgheqnecugg ftrfgrthhtvghrnhepheegieduieegvddvffdvgeefuddugfetvdettddtfedutdejvefg jefgveethedunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homheplhgrrhhrhihvodhmvghsmhhtphgruhhthhhpvghrshhonhgrlhhithihqdduudeh udekjeejtdegqdduudelvdejfeekhedqlhgrrhhrhihvpeepiihshhdrohhrghesfhgrsh htmhgrihhlrdgtohhm X-ME-Proxy: Feedback-ID: iaa214773:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 56CFC31A0065; Tue, 5 Mar 2024 00:03:02 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.11.0-alpha0-208-g3f1d79aedb-fm-20240301.002-g3f1d79ae MIME-Version: 1.0 Message-Id: <06e34abe-9887-4ed4-9f04-534a84e6b0ae@app.fastmail.com> In-Reply-To: References: <47117922-e17f-44d1-8a2f-2cb4a9c53606@outerface.net> Date: Tue, 05 Mar 2024 00:02:42 -0500 From: =?UTF-8?Q?Lawrence_Vel=C3=A1zquez?= To: sergio Cc: "Bart Schaefer" , zsh-users@zsh.org Subject: Re: Arithmetic Zero Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Seq: 29717 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: On Mon, Mar 4, 2024, at 11:23 PM, Bart Schaefer wrote: > On Mon, Mar 4, 2024 at 7:28=E2=80=AFPM sergio w= rote: >> 1. What is the reason for returning 1 when an arithmetic evaluation >> succeeds but is zero? > > (( ... )) is intended to be useful in tests: > if (( status =3D=3D 1 )); then ... Put another way, you can think of ((...)) as "translating" C's notion of true/false into the shell's. C considers zero-valued expressions to be false, so ((...)) "translates" them into an exit status of 1, which the shell considers false/failing. Similarly, C considers non-zero-valued expressions to be true, so for those ((...)) returns 0, which the shell considers true/successful. --=20 vq