Path: csiph.com!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail From: Eli Schwartz Newsgroups: gnu.bash.bug Subject: Re: Are there any plans for more readable, modern syntaxes for If statements? Date: Fri, 13 Mar 2020 09:27:34 -0400 Lines: 83 Approved: bug-bash@gnu.org Message-ID: References: <81145cad-63a1-f67c-1cc1-3fbdaa5d2930@archlinux.org> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="z3JnAQK8zDJBf62xtjIY9VKsSjkQlVOTn" X-Trace: usenet.stanford.edu 1584106066 15847 209.51.188.17 (13 Mar 2020 13:27:46 GMT) X-Complaints-To: action@cs.stanford.edu Cc: bug-bash@gnu.org To: John McKown Envelope-to: bug-bash@gnu.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=orion; t=1584106057; bh=ssMynuhSF9nQAsxAIBWxDKLvDZpM3rf3S8OrRaUE6ZY=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=AQchUrx+Gs/8Ks50NlUpBBZF0L9vGsRlsKcKgczUeOkdkJSQRcJFSiUIMlRe9TuRW 7J8+iMwbv34hhT+u1jY2cT8rKoxxkv3yYPo9z56O7dupexR0Mf6nR/rVirAceYr+LD QjP5s6e/4eIusvX55AY0WonQr9ihGgOfmLC1GVOkZiV96GlXGMj1vCWTqcTJ8AaP14 Amrqa6XQASyAkIIVh+EkmHzO2cWFfkBdjP19rB/e2hjWFHzvsuppW8/aHdp+2z6DX9 y+uvjXyyk8CMYNftPaYgWTWhif/WhZpyd8oIiZU0CsjW/fbiteMudTrbhvyU120SBI AOHUzQYn5At9PLDZeg5SV+J984jr/wW0715icH+HMamrs7w9KK6tcDaKv5Y2Y108w0 LUvCI9+3aZAKxSEdJii4r6O6WHsT0MLijmbPOTSFoU+7ukQf2WL+C3lsuYzwR+V2bq 6CsBnAPwjAGxkBKyT3kxiWnxt506oow+25R1DRjEZf7+jaUJd29gLNVpwuAUUfaxlV mKMI0+4Ws79RGePCcq0SXTHTXpQMt9vVDgODbIxGH5cubldNuhCGL4DV0RV4hO5E6X YjkHeC71LtmttRHU2zkBEBFDxRD7Vv5SWtLxYdTZjLW88Z7KQ89JEoHPdWjnGczjjG +whsbkrwAz2GNpQ8lYZd3N6w= X-Clacks-Overhead: GNU Terry Pratchett User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 88.198.91.70 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: <81145cad-63a1-f67c-1cc1-3fbdaa5d2930@archlinux.org> X-Mailman-Original-References: Xref: csiph.com gnu.bash.bug:16027 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --z3JnAQK8zDJBf62xtjIY9VKsSjkQlVOTn Content-Type: multipart/mixed; boundary="3ErjGoBTC6x8uYxKxkfd6zSTkq1vf54Ug" --3ErjGoBTC6x8uYxKxkfd6zSTkq1vf54Ug Content-Type: text/plain; charset=utf-8 Content-Language: en-US-large Content-Transfer-Encoding: quoted-printable On 3/13/20 7:59 AM, John McKown wrote: > I do things like: >=20 > test && { true_command1;true_command2; : ; } || = { > false_command1; false_command2; false_command3; } >=20 > Notice the command : (colon) as the last command in the true. The reaso= n > that I put it there is to guarantee that the $? from the series of > "true_commnds" is 0 (aka "true") so that the commands in the || are not= > executed. OP: "I want readable, modern syntax for If statements, inspired by C." You: "Don't use If, use &&, which doesn't look like a C If either." I'm... not following? I mean, yes, the things which you do are valid bash syntax, and yes, they seem to do what you want them to do, but I don't *really* understand how they tie in to the premise of the thread. In contrast, "abuse parser macros" is a valid if terrible answer to the question of changing the syntax of a bash feature. Something which is otherwise not really an option, since 40-year-old languages do not change fundamental syntax on a whim as though they are, I dunno, perl6. (I am still mindblown that "I want a modern syntax for XXXX" can possibly lead to "imitate C, which is 50 years old and thus astoundingly even less modern than the Bourne shell by an entire decade".) --=20 Eli Schwartz Arch Linux Bug Wrangler and Trusted User --3ErjGoBTC6x8uYxKxkfd6zSTkq1vf54Ug-- --z3JnAQK8zDJBf62xtjIY9VKsSjkQlVOTn Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEvSewel70XCra9w4EhIGKaBmvSpsFAl5rikYACgkQhIGKaBmv Spvelw/+N9T2be5rc+6D6jJDbeCM74SHh3zWh0yD/Brec31Qg5wU6VD+3DZIFkJz un7S4y6AfeODr3Wrn1pnVPdUUPeunAXFLyX4knZWv/5GYbAz2UnS5cGDGXpNRd5M gDOaF4vFFgBBdCzhRtjwvrFfn0F1i0sz2NIdT3T/QtP9Xn3rJT328xWxvn0VgFDc 95U+k3sQ2URhRplv8+ohAdhOtNr0t5JiPVNBmLozs+JF9BClbdP7e3HxEeaI/3pQ eF8goeNppHBOEBlYZN8TnGhKxxMP44w64eR45O5PI0jOzE50fartOEDa0FRWom8a PVHm5GEYy3PcxSCTqeckNzKVFZot/8o7VrgPSgqoDGOLV3Jr8HnXOePKU17eHFLg ysP1RKY7VjRx8vzuToySNylGGCm/XYQZmuKzQ/eS38raiuYBM4mdYcQ18aL5kith izxDlv/mEE66wbqXnojw9//HvVV0xn/V5qr2AhTmCweiSdijScp4CPAbih0wlKBl Q9YL1ZbmTyRpi4SI7SGsUqhf3+9UojaM2CElLJ4f9crji3QWIdRU5p2KtHtzUEIZ pxcI5W4vKnW8Xj3NvnO6XXZ39N/Rp5X2QDzG+4M1zJP9IKUQ4DXzP/fDlckBjqk1 2XRxiv6A3MvRIrUUWkt+LVbbxSaPdAHvCIxpabk/sxR53hrawGaJAjMEAQEKAB0W IQRgQRMEwJ02YoNA7v/OsWfvtXIr1gUCXmuKRgAKCRDOsWfvtXIr1rIOD/9ULJFV oMhX3DeecxCZLxQ9YIexYnDRzwp8UHDtdipw27IDR51Ynr5tlBklOBv3ZoJ3dONS 2RgvDk7uN/Twa91oz4nf6uVJwChQMw8bhhMNg6/8EeZUFMTMsxDBff42whq1wagG oP0im3k4hLruFJiRvo9eDsS3gpzhvxAfskjzq9J1QDz4VsEtDcBOQpAkTSui/qUK +rBTwHwt9BLWWRN3CzVVEzO6BS1z5j7aDclbWFDuWzTJJk+6YwwPuhgfG9lWGe5x V6yUItC5GMvL+JbYEqBeRZaU8v6z5w3HW3MAGFpbCN5b1fd5e3VRjz7Pyr0mvlaz jcogBsqymko8zL4xNjaWIj4zVo2B7Tc22N/OGczcpoCZlArB0y/3IeZdUZAJ7ZHq +Sq9eplFy5p0ilYs1Rh27KuVyGLxVFvj/cpRlriMShSVqXA6ogcUCErGpX5VedZa s+XdnE46+6bOa37LKvI5tFNxWdAevjHXwZDV9uKL1nvU3RVbmlVil1MxjdZSUUEx S/VhW0gbZ22Blyh8LZDBYqpvW/TYNC/ldC0cvCUfCXq6ppIYHu6/W4w7Bt76R2tV 5KNh8CCHlUeeZ5ZS3BmxgF3b2Sp/dHf1ZNkSocsND6vtWWnr5FIrhKq/KpEjdAE9 FdkPxCj12U0BoJ/YtTqp8AcVHbKHxpKM/Oaxaw== =Ig+8 -----END PGP SIGNATURE----- --z3JnAQK8zDJBf62xtjIY9VKsSjkQlVOTn--