From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28782 invoked from network); 21 Jun 2021 13:57:19 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 21 Jun 2021 13:57:19 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 578559C79B; Mon, 21 Jun 2021 23:57:17 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 315579C5FE; Mon, 21 Jun 2021 23:56:47 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=case.edu header.i=@case.edu header.b="RNa3BVm7"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=case.edu header.i=@case.edu header.b="B358U348"; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=case.edu header.i=@case.edu header.b="agoostya"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 72E959C5FE; Mon, 21 Jun 2021 23:56:44 +1000 (AEST) X-Greylist: delayed 360 seconds by postgrey-1.36 at minnie.tuhs.org; Mon, 21 Jun 2021 23:56:42 AEST Received: from mpv3-2015.case.edu (mpv3-2015.CWRU.Edu [129.22.103.194]) by minnie.tuhs.org (Postfix) with ESMTPS id 9CF3B9C5F8 for ; Mon, 21 Jun 2021 23:56:42 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1624283802; bh=IbdeVFyi11EUc5bEJcL95QAIcnkyidacKIGmA8r8CgA=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=RNa3BVm740QTgjVzfIwZkt4zKBM4sobnU2xpIrNX9KsN6irZsQvy/0tk9NHkUxJZ1t Yz9wJ8u7CumldRUscXpRGMPWzgshpdc4WIHbG0MDTg0sC5wK1utJoWmMIw50i0eU8ck DJJqVa2B5ZRF1IfOmYnz0jLI6rkDJ0L9ggwDhcafrYfxCOFHjYogpQGCmExUalPsu5E Ji7mtbC0BzY1ALq020tMCoYjUqBNiQ7iBF837ayCmaJnJsojYdusQH4FOgx+ifE0EvR +crDjAuVO2Qn5gAumKB7hn5TKEuoIUWcbayfthAc+gPXTfjAo03X8oL/ADmkFtLtjny /AczLDQA== Received: from mpv6-2015.CWRU.Edu (EHLO mpv6-2015.case.edu) ([129.22.103.202]) by mpv3-2015.case.edu (MOS 4.4.8-GA FastPath queued) with ESMTP id BWL74156; Mon, 21 Jun 2021 09:50:41 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1624283441; bh=IbdeVFyi11EUc5bEJcL95QAIcnkyidacKIGmA8r8CgA=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=B358U348/MdIew+gKVJuO/JikyzeDS5kJo/9rRijHcitHRgC5QEtwbh3m0SlJMuSnh 8TFEpVJnfWJPmChNbsq8U7FdcFn2hcps6dlljfPJnwOOrDGu62LIyh5kc6VoUoS0lOc WIH2L13gBRz99MN3hHkGxle9q3qjKtR2diDptQvO1LJkotoSV6ShOHqSXJMhtMF0FmB LsQxSzBMrx13eduSmIQJ0JSuW9yiT1EYTdNNYmZAAF9sFj6Z9b0EZFRJ8Q7uOt5Vw44 pXXBw3UNqXT3xzgdZ8t6bBs3k12W+XvIKeJVkAKpYadSmm4v4N4R8ec0VFBUyI2AbQ+ OAd628WQ== Received: from mail-qk1-f199.google.com (EHLO mail-qk1-f199.google.com) ([209.85.222.199]) by mpv6-2015.case.edu (MOS 4.4.8-GA FastPath queued) with ESMTP id GDY33418; Mon, 21 Jun 2021 09:50:40 -0400 (EDT) Received: by mail-qk1-f199.google.com with SMTP id i3-20020a05620a1503b02903b24f00c97fso8533551qkk.21 for ; Mon, 21 Jun 2021 06:50:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=g-case; h=reply-to:cc:subject:to:references:from:organization:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=UUVQm7BMw/BMyAXu+7YxY/aRYcMRH2VuwWrgl8R7ZqE=; b=agoostyaSv6C5ghha4YhymkVJTYL2jxArxPJjwsxVq01Un3q+zykLlDdadlHlDkuka TnBZBDSZBGspG+jyy93Wy5lQL80xH63zRBRzOZIZsyo6nUYYB2UOgZyMdMGgrR4nAUtf NjYBAhFBCQw1Ya5Qis7XUzATFZAKsc94Eawr8jHqty495k2/JztgGF28Phhn42QNedZ8 0E1hKCSf5tAuHehhWkdq4aCrKYauVK7DFc0pNvhwrnv1dltGVePmZvVqgZ9Pe9aN5bH9 Iq4S9zmXXv1j4k77SqJw7W/7LxlA4SsBwk2iHXoIvAFwbFTRQLSg3s2HBxIVzzCDpKmi B30A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:cc:subject:to:references:from :organization:message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=UUVQm7BMw/BMyAXu+7YxY/aRYcMRH2VuwWrgl8R7ZqE=; b=LOv7QMwhzK+QZcTQllmEE4KWJ4KkqOo+OjdyijqKfcMF3YxzorUdST4SIE9EfCvogQ 5tu8EQ6iMzONb+z0tl86bkDbdFq4+AdeeX5X905NOXcQ1OfOJQvZb0CyomuMYghnk/Y2 eidmVEsBOiblD35VVLOBvCTQeWRjLwokbXwxN+aBnBvq+XBJCIpfulxD9Z3Z8hYrH68E E63TJsQJPJGR6WDOK0fJOePMaYWm9Yz0Hcp7Sr9Kyrf5TrRRFIfASpaF6s7UUjm7fzhJ fL13BRwczxr5NUvwTbXHkTRot5OzNsbU6TGCwGS4m7RThkGBwGn0NwSQsC0j595Ev0ti OjbQ== X-Gm-Message-State: AOAM533jJxVBYSasRg9ytWv/E+Qv2FPeFhSivox3VMuc57Fv+JfPQ7/m bIKWggp//wmmuIru/yEdi83XHzVWYqQwBdKH2mlfKJ1MJqWo2TX7N1JG0ZPPWdoFYZLfhnVOYCM 4TZO8FeI4Ao7DEa3h X-Received: by 2002:ac8:7b8a:: with SMTP id p10mr22352306qtu.148.1624283440161; Mon, 21 Jun 2021 06:50:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzkf+qXOXjwbMK3FsbfQiYsu5NneN86o7c/WXAy/6rL5uwSfOhN9F0Q06rix8Ie7tWxYl1WeQ== X-Received: by 2002:ac8:7b8a:: with SMTP id p10mr22352287qtu.148.1624283439844; Mon, 21 Jun 2021 06:50:39 -0700 (PDT) Received: from jenna.local (2603-6010-dc07-54e3-75cf-b275-b181-6d39.res6.spectrum.com. [2603:6010:dc07:54e3:75cf:b275:b181:6d39]) by smtp.gmail.com with ESMTPSA id s133sm9947622qke.97.2021.06.21.06.50.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 21 Jun 2021 06:50:39 -0700 (PDT) To: arnold@skeeve.com, tuhs@minnie.tuhs.org, msi@malbolge.net References: <20210621113752.110edede@moon> <202106210957.15L9vpZu004496@freefriends.org> From: Chet Ramey Organization: ITS, Case Western Reserve University Message-ID: <04536d5b-a6dd-4900-80de-4efc6824aa68@case.edu> Date: Mon, 21 Jun 2021 09:50:38 -0400 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <202106210957.15L9vpZu004496@freefriends.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Mirapoint-IP-Reputation: reputation=Good-1, source=Queried, refid=tid=0001.0A742F8F.60D08D84.002B, actions=tag X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A742F1F.60D09930.007F, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0, ip=0.0.0.0, so=2016-11-06 16:00:04, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: b6ec2ea46fb97b725c3563950b44558b X-Mirapoint-IP-Reputation: reputation=good-1, source=Fixed, refid=n/a, actions=tag X-Junkmail-Status: score=7/80, host=mpv3-2015.case.edu X-Junkmail-PrAS-Raw: score=7/80, refid=2.7.2:2021.6.21.125414:17:7.944, ip=, rules=__YOUTUBE_RCVD, DKIM_SIGNATURE, __X_GOOGLE_DKIM_SIGNATURE, __X_GM_MESSAGE_STATE, __X_GOOGLE_SMTP_SOURCE, __HAS_REPLYTO, __HAS_CC_HDR, __SUBJ_REPLY, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __SUBJ_ALPHA_END, __TO_MALFORMED_2, __TO_NO_NAME, __MULTIPLE_RCPTS_TO_X2, __HAS_REFERENCES, __REFERENCES, __HAS_FROM, FROM_EDU_TLD, __HAS_MSGID, __SANE_MSGID, DATE_TZ_NA, __USER_AGENT, __MOZILLA_USER_AGENT, __MIME_VERSION, __IN_REP_TO, __CT, __CT_TEXT_PLAIN, __CTE, __REPLYTO_SAMEAS_FROM_ADDY, __REPLYTO_SAMEAS_FROM_ACC, __FROM_DOMAIN_IN_ANY_CC1, __FROM_DOMAIN_IN_ANY_CC2, __RCPT_DOMAIN_NOT_TO, __REPLYTO_SAMEAS_FROM_DOMAIN, __DKIM_ALIGNS_1, __DKIM_ALIGNS_2, __ANY_URI, __URI_MAILTO, __URI_WITH_PATH, __URI_ENDS_IN_SLASH, __URI_NO_WWW, __CP_URI_IN_BODY, __FRAUD_MONEY_CURRENCY_DOLLAR, __SUBJ_ALPHA_NEGATE, __URI_IN_BODY, __URI_NOT_IMG, __MAIL_CHAIN, __BODY_NO_MAILTO, [TRUNCATED], so=2010-03-03 19:42:08, dmn=2016-08-03-0138 Subject: Re: [TUHS] Arithmetic expansion in Unix shells X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: chet.ramey@case.edu Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" On 6/21/21 5:57 AM, arnold@skeeve.com wrote: > Arithmetic expansion dates back at least as far as ksh88. ksh had the `let' builtin from at least 1983. The ((...)) compound command was there by ksh-86. > Bash likely picked it up from there. Sort of, see below. > The original was only integer math and Bash remains that way (IIRC, > Chet can correct me if I'm wrong). ksh93 added floating point math. Yes, bash only has integer arithmetic, since it's all POSIX requires. > POSIX would have picked it up from ksh88. The $((...)) form of arithmetic expansion is something POSIX picked up from ksh-88, eventually. The early drafts of the standard (through 1003.2 d9, at least), used $[...], but they eventually adopted $((...)) because ksh-88 had already implemented it, though it's not documented in Bolsky and Korn. I put $[...] into bash first (it's still there, though deprecated), then `let', then $((...)) after POSIX added it, and finally `((' for compatibility. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/