Path: csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail From: Chet Ramey Newsgroups: gnu.bash.bug Subject: Re: Assignment-like word shouldn't be subjected to tilde expansion in POSIX mode Date: Mon, 20 Jul 2020 10:11:59 -0400 Organization: ITS, Case Western Reserve University Lines: 33 Approved: bug-bash@gnu.org Message-ID: References: <5f066ef0-1fed-ad5b-d564-490268d32427@case.edu> <8ddc4816-f85e-97b3-5c51-9b55acdcaca5@case.edu> <26757.1595233713@jinx.noi.kre.to> Reply-To: chet.ramey@case.edu NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Trace: usenet.stanford.edu 1595254328 2896 209.51.188.17 (20 Jul 2020 14:12:08 GMT) X-Complaints-To: action@cs.stanford.edu Cc: chet.ramey@case.edu, bug-bash@gnu.org To: Robert Elz Envelope-to: bug-bash@gnu.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1595254324; bh=YjpQGKRNZ7h7kU+1ZzBlzZDTiQpWnQE0ZEc3yEDvMuw=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=KLJyYeJSkTL4nZ2x38wZW9F44OTZ+/S0aenYxne2HqggoJmO0+GUrRa+k5I3cJFs28 ZT5pwIziYni7eF2+lvfqC8BENL2EYwSnkgDYFuvEFcSPwTucLA46JMW3ji/yAGXMJDf +hVaGImbEF+GJyY1NdBWsFBz1d/z4S6UAQZtyuBf7LaYTSnuu1kpOAoPoJLv4vSczeH SEX13jPdOnHnREXqEu6T8MyJcBWYm4dwBhDJCgamoFyXAI88cMJSWsMtcokirmP372T EAbM6qA5VXykrPqdxGu169DoWrwMCtqZmM1dQc//v1Uv9cwYGCv5oNvH/Q8JtrPK1sV YE8aLzAA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1595254322; bh=7jXLuHxDAv/FYloJW0bcGidSBWix+5u+qBkrLnNO1vQ=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=gFzwoatfqqArH71JMSLfNH4+BFrlto2SL2kYmmO2hMbz4qpnFV3KRDhRzGAKO6BgpE BjHOga7KyUPaiO0vIeLwCOkQXdppUklPUseTFnV3L+L45VEPai7G3ZboS2aNir+VZUI gpq1oP9JPqoMF0s7ZUHq/e77HlxhJwvAnKl6kmGH7o4tHTUsuSt8wgyocBXj3oade2+ UraPjwhn/Z87Xa+HtvVD/qTNo4zQGZn2G3FuQxXy/21RPrtPJPPWwj3KWjCgHcHNPfY 1QChHgXv5OrDtU39P8S5+14UU2Hgu6XvOG4jMXaCS/1o+IAAAC0qe6N32xCVORIATi8 uQ4oFECA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=g-case; h=reply-to:cc:subject:to:references:from:autocrypt:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=7jXLuHxDAv/FYloJW0bcGidSBWix+5u+qBkrLnNO1vQ=; b=CmZJWdUhl8uJDYsj+yCFwa5Nr3+mbf1GCyxSXc8N2R2CDl594u6yfmJomcnzNpRBie mxBYF86xCs1RwU+HvJ4jrMNoc0LzWZ7N6722c722YB2COVh6w8ZhCUQ/ufF8/H3SvRjR m+EQWM+7d0YyaF0XfwjtesdOgtgkQzeYJruo3yOiBPWUznCYJYbze4tUVyqUjiS0Ujun uHkTmnwT2b9e2+Co2iQH2lstiYjAUm35Xmc4NQJyiPRnaJzEYIiiGi/n4gQnzykxlHHO sqUlAleJlkzjrPsJBBOsLptiUSC8NzDyYGGlR8tMz8XkHOgQF8qX5TzKrTNkSqqsTd1X rzvw== 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:autocrypt :organization:message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=7jXLuHxDAv/FYloJW0bcGidSBWix+5u+qBkrLnNO1vQ=; b=ANt9B699PYc1Bz/XN2AJcNkoH4aacvVdbATETyq1h8G82QLOABFWuRu8xhgw3XWwPl TrhQ3dJTfWM3HoTHIBgX2G5LZoT5CfAYDE8LITt8AeKcK5Di7QkPjUNJ2FC/KGQu9Acj Inj4zBPz2lfVqAbBOrq9Jzr+ZtM9lTt5S96GGiilNRG58kCtfNEq8I7JWKTlaGI1IAgK VAeaZJD4J9ImlayMphnh0edDK37Jr2CGrYlo+OEGUEAMbYLvxFdeyIBFqTBRNlf9reQm SDXP963+EfPGJYBGIpX7zYLfTYpv14JgsrcT60IzkVSfGDNgVBq3ZdGQmZWn1pLyPUpS Ak3Q== X-Gm-Message-State: AOAM532fzJizLmrfCUmb86hz+EMWix/3WUocLNbXdVj9cbRL3sR01G+r 1coyRowCVldIoH7gwXqkKt9ot7gRgxLc+U8nZ8njSWkI2GtzgV+TYmiIqqoURiZX8D8cPLC78ak PqQZ08nTbnwE= X-Received: by 2002:a05:6638:1495:: with SMTP id j21mr788841jak.136.1595254321988; Mon, 20 Jul 2020 07:12:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx+/bOS+aKyTt9LfNmjQ5pdybAvdAh+Tg1ZDOYW+X4C+x2qufBuk5+KcjSeMcrGBUlC3ElrRw== X-Received: by 2002:a05:6638:1495:: with SMTP id j21mr788805jak.136.1595254321612; Mon, 20 Jul 2020 07:12:01 -0700 (PDT) Autocrypt: addr=chet.ramey@case.edu; prefer-encrypt=mutual; keydata= mQGiBEEOsGwRBACFa0A1oa71HSZLWxAx0svXzhOZNQZOzqHmSuGOG92jIpQpr8DpvgRh40Yp AwdcXb8QG1J5yGAKeevNE1zCFaA725vGSdHUyypHouV0xoWwukYO6qlyyX+2BZU+okBUqoWQ koWxiYaCSfzB2Ln7pmdys1fJhcgBKf3VjWCjd2XJTwCgoFJOwyBFJdugjfwjSoRSwDOIMf0D /iQKqlWhIO1LGpMrGX0il0/x4zj0NAcSwAk7LaPZbN4UPjn5pqGEHBlf1+xDDQCkAoZ/VqES GZragl4VqJfxBr29Ag0UDvNbUbXoxQsARdero1M8GiAIRc50hj7HXFoERwenbNDJL86GPLAQ OTGOCa4W2o29nFfFjQrsrrYHzVtyA/9oyKvTeEMJ7NA3VJdWcmn7gOu0FxEmSNhSoV1T4vP2 1Wf7f5niCCRKQLNyUy0wEApQi4tSysdz+AbgAc0b/bHYVzIf2uO2lIEZQNNt+3g2bmXgloWm W5fsm/di50Gm1l1Na63d3RZ00SeFQos6WEwLUHEB0yp6KXluXLLIZitEJLQwQ2hldCBSYW1l eSAoQ2FzZSBzdGFuZGFyZCkgPGNoZXQucmFtZXlAY2FzZS5lZHU+iF8EExECAB8FAkPi19EC GwMHCwkIBwMCAQMVAgMDFgIBAh4BAheAAAoJELtYafBk6nSrelkAn31Gsuib7GcCZHbv5L5t VKYR9LklAJ4hzUHKA49Z0QXR+qCb80osIcmPSbkBDQRBDrBvEAQAkK6TAOKBEM+EC4j6V/7o /riVZqcgU5cid2qG9TXdwNtD9a3kvA/ObZBO93sX59wc6Bnwo4VJxsOmMlpGrAjJsxNwg3QH akEtf8LXRbVpj5xStdmBdQZUhIQyalo/2/TZq5OijtddUQcL5cs70hTv/FpT3wUvr2Xr8rjF 41IFEz8AAwcD/A0CZEGlzIrT5WCBnl6xBog/8vKiUCbarByat3d1mL6DbizvKNXQRTC9E/vE dENAWCQCjr75Bu55xT8n3SXGtWdDC5xmZ/P3OBYORP8yl8H8I1FIosWOFirbIeYdZPq8SPD1 HL+EXo9zSiHVrrZRJ19ooCKKbSdXHFCY+aJG+0KZiEkEGBECAAkFAkEOsG8CGwwACgkQu1hp 8GTqdKvjcACfZlkVCDwaz/NTO9cy3t69oWpVPNwAnRwe0qk/WL/gfhH346xh5B3HFbFN User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: <26757.1595233713@jinx.noi.kre.to> Content-Language: en-US X-Mirapoint-IP-Reputation: reputation=Good-1, source=Queried, refid=tid=0001.0A020302.5F159A58.0037, actions=tag X-Mirapoint-IP-Reputation: reputation=good-1, source=Fixed, refid=n/a, actions=tag X-Junkmail-Status: score=8/80, host=mpv3-2015.case.edu X-Junkmail-PrAS-Raw: score=8/80, refid=2.7.2:2020.7.20.135417:17:8.317, ip=, rules=__YOUTUBE_RCVD, DKIM_SIGNATURE, __X_GOOGLE_DKIM_SIGNATURE, __HAS_REPLYTO, __HAS_CC_HDR, __MULTIPLE_RCPTS_CC_X2, __SUBJ_REPLY, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __SUBJ_ALPHA_END, __TO_MALFORMED_2, __TO_NAME, __TO_NAME_DIFF_FROM_ACC, __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_CC2, __REPLYTO_SAMEAS_FROM_DOMAIN, __DKIM_ALIGNS_1, __DKIM_ALIGNS_2, __ANY_URI, __URI_MAILTO, __URI_WITH_PATH, __URI_ENDS_IN_SLASH, __URI_NO_WWW, __STOCK_PHRASE_24, __CP_URI_IN_BODY, __FRAUD_MONEY_CURRENCY_DOLLAR, __SUBJ_ALPHA_NEGATE, __URI_IN_BODY, __URI_NOT_IMG, __MAIL_CHAIN, __FORWARDED_MSG, __BODY_NO_MAILTO, __NO_HTML_TAG_RAW, [TRUNCATED], so=2010-03-03 19:42:08, dmn=2016-08-03-0138 Received-SPF: pass client-ip=129.22.103.194; envelope-from=chet.ramey@case.edu; helo=mpv3-2015.case.edu X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/20 10:12:03 X-ACL-Warn: Detected OS = Linux 2.4.x-2.6.x [generic] X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: <5f066ef0-1fed-ad5b-d564-490268d32427@case.edu> <8ddc4816-f85e-97b3-5c51-9b55acdcaca5@case.edu> <26757.1595233713@jinx.noi.kre.to> Xref: csiph.com gnu.bash.bug:16594 On 7/20/20 4:28 AM, Robert Elz wrote: > Date: Sun, 19 Jul 2020 15:21:07 -0400 > From: Chet Ramey > Message-ID: <5f066ef0-1fed-ad5b-d564-490268d32427@case.edu> > > | Maybe, but Posix says this isn't a variable assignment context, as POSIX > | defines variable assignments, and technically the shell shouldn't perform > | tilde expansions after `=' or `:' at all. You could argue that bash has a > | bug here in that it expands the tilde after the `='. > > It may also be that this is a bug in POSIX, as all ksh shells seem to > act the way that bash does, expanding the first ~ but not the secpod. > Most other shells expand neither, except the NetBSD shell which treats > this as a var assignment (which it is really, however explained away in > POSIX) and expands both. > > It is likely that if someone were to file a posix bug report about this, > it would turn into "unspecified" whether ~ expansion is done in that context. You can make a case for the bash/ksh tilde expansion: the word expansion is ${PARAM:=WORD}, and the WORD is subject to tilde expansion according to the enumerated list in 2.6.2. Since the first character of WORD is a tilde, if you say the tilde-prefix stops at the `:', the tilde gets expanded, and since it's not an assignment, the `:~' doesn't trigger subsequent tilde expansion. Bash has done this since at least the early 1.x days (at least 1.10), and there is code to handle that case in bash to this day. -- ``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/