From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 6235d95b for ; Fri, 22 Nov 2019 14:08:07 +0000 (UTC) Received: (qmail 1581 invoked by alias); 22 Nov 2019 14:07:58 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: List-Unsubscribe: X-Seq: 24457 Received: (qmail 19186 invoked by uid 1010); 22 Nov 2019 14:07:58 -0000 X-Qmail-Scanner-Diagnostics: from brown.elm.relay.mailchannels.net by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.0/25635. spamassassin: 3.4.2. Clear:RC:0(23.83.212.23):SA:0(-2.0/5.0):. Processed in 3.304442 secs); 22 Nov 2019 14:07:58 -0000 X-Envelope-From: pedz@easesoftware.com X-Qmail-Scanner-Mime-Attachments: |smime.p7s| X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at spf1.mailchannels.net designates 23.83.212.23 as permitted sender) X-Sender-Id: a2hosting|x-authuser|pedz+easesoftware.com@mi3-ss4.a2hosting.com X-Sender-Id: a2hosting|x-authuser|pedz+easesoftware.com@mi3-ss4.a2hosting.com X-MC-Relay: Neutral X-MailChannels-SenderId: a2hosting|x-authuser|pedz+easesoftware.com@mi3-ss4.a2hosting.com X-MailChannels-Auth-Id: a2hosting X-Left-Irritate: 7f3aaf124c48905c_1574431639108_105788069 X-MC-Loop-Signature: 1574431639107:161920247 X-MC-Ingress-Time: 1574431639107 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=easesoftware.com; s=default; h=References:To:Cc:In-Reply-To:Date:Subject: Mime-Version:Content-Type:Message-Id:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=YQ5l9fxQbE/aqZUd1uQiMOXz6JNGNVjUWqcVgsnOj3g=; b=MVFZdTR/jMUIyo8pJevKxR2fR m/WId+akwPcLZ2koijLR1QMTzgHUc1d+nlGDU/L7qeAvQ6CsKsI/UbOgkjQ9sJQRtaoLOqNacDfcs PljB76Hy3urMoK9xVGCufKSs427ud7KVFkLfqPWryP4u5p5aCGmOBxR+6VZXAGZUznu+3ThLf2WAr G8/KOsgzyN7i57pWH2hI769xnq2OUeLqeQB+T2deb4IkHSIY++gBboaQNFv310/pjqYG+FTBBzZMk o1+LdMhICdegdpBBlpzFLJVJk8uQ5iN8vySZbV/cBzfHNXfICCT9fm/UUCzvcIEV4IumjTqByqRhf qFU7QXioA==; From: Perry Smith Message-Id: <948D905A-5446-4B89-8F47-74FF6A2B1B95@easesoftware.com> Content-Type: multipart/signed; boundary="Apple-Mail=_03162597-756F-49C8-AC1C-ABAA69726305"; protocol="application/pkcs7-signature"; micalg=sha-256 Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3601.0.10\)) Subject: Re: Is quoting of the assigned value needed? Date: Fri, 22 Nov 2019 08:07:11 -0600 In-Reply-To: <1574419508.4702.10.camel@samsung.com> Cc: zsh-users@zsh.org To: Peter Stephenson References: <1574419508.4702.10.camel@samsung.com> X-Mailer: Apple Mail (2.3601.0.10) X-AuthUser: pedz+easesoftware.com@mi3-ss4.a2hosting.com --Apple-Mail=_03162597-756F-49C8-AC1C-ABAA69726305 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Nov 22, 2019, at 4:45 AM, Peter Stephenson = wrote: >=20 > On Fri, 2019-11-22 at 03:03 +0100, Sebastian Gniazdowski wrote: >> Hello, >> SH_WORD_SPLIT doesn't seem to cause any effects in this context: >> =20 >> setopt SH_WORD_SPLIT >> var1=3D"a b" >> var2=3D$var1 >> print "$var2" >> =20 >> Output: a b >=20 > Correct, there's no splitting there: you've got a quoted assignment, a > single word assignment, and quoted output. >=20 > What you should be doing depends on what you're trying to do, which = you > don't say. Do you want var2 to be an array of split parts of $var1? = In > that case, do an array assignment. >=20 > var2=3D($var1) One of the things I do when I=E2=80=99m exploring things like this is = write a silly script that echos out the number of args being passed to it: % cat <<'EOF' > /tmp/count.sh #!/bin/zsh -f echo "$#" EOF % chmod +x /tmp/count.sh % var1=3D"a b" % setopt nosh_word_split % /tmp/count.sh $var1 =20 1 % setopt sh_word_split=20 % /tmp/count.sh $var1=20 2 Also, when I first started exploring zsh, someone suggested to look at the zshall man page which is what I do in questions like this. Then search for SH_WORD_SPLIT and see all the places that it comes up. It surprised me that this: var2=3D$var1 worked as it does but bash does the same thing. Drifting off topic slightly... I've had to break some of my old habits. With bash, I would just ALWAYS do "${foo}" ... 100% of the time. Which is why the assignment above surprised me. I would have always just done: var2=3D"${var1}" With zsh, not only is this unnecessary ... but it is also "wrong" (or perhaps I should say "not what I want") when dealing with arrays. And using arrays in zsh appears to be where a lot of the power is at which I never really took advantage of with bash. Arrays in bash always seemed like they were playing catch up with ksh and not really a native bash ground up design and implementation. --Apple-Mail=_03162597-756F-49C8-AC1C-ABAA69726305 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCBmYw ggZiMIIESqADAgECAgEBMA0GCSqGSIb3DQEBCwUAMIGzMQswCQYDVQQGEwJVUzEOMAwGA1UECAwF VGV4YXMxEDAOBgNVBAcMB0xlYW5kZXIxHDAaBgNVBAoME0Vhc2UgU29mdHdhcmUsIEluYy4xFDAS BgNVBAsMC0Nhc3RsZSBIb21lMSgwJgYDVQQDDB9DYXN0bGUgSG9tZSBNYWlsIENlcnQgQXV0aG9y aXR5MSQwIgYJKoZIhvcNAQkBFhVwZWR6QGVhc2Vzb2Z0d2FyZS5jb20wHhcNMTkxMTAzMDI0MzI5 WhcNMjkxMDMxMDI0MzI5WjCBnzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQH DAdMZWFuZGVyMRwwGgYDVQQKDBNFYXNlIFNvZnR3YXJlLCBJbmMuMRQwEgYDVQQLDAtDYXN0bGUg SG9tZTEUMBIGA1UEAwwLUGVycnkgU21pdGgxJDAiBgkqhkiG9w0BCQEWFXBlZHpAZWFzZXNvZnR3 YXJlLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKvXHo+g2LaqmhJx0xk2ZlW6 vcuVW/lnD209p/qe70V7HHwV2eBtNXi24E2/pexYIgU/L8SbxEz8gJoh+CCZoc5DtOq0921NiRzn XeiJsxtWqY6rhmswtEwycWMVTq/h0ayE6/rhESmIIv8JPSfhZMsqh6LVyr9mepo3pUfPXIdE9CiT IlwfNlAXzFs8kExFebAu+NIeVy5jfEjYPZt2atNwAJuHwck6RvprMIHQkNE23FJpwCB0TtUwlxOh aM6jNwEWrq3hlt1bIaoBgEszFRGUPeR2B+QcB0mOsn4VPkaX4M8dApmzF73JJe/ShnQLoKQdcmL9 93piJlvb+t0FqZoNnskbFgkDPP2yeOQ16wWHY3YRxt2ecXFEmSegbH5W1cxTRbNKd261NxnI0Uxo Tr2EUA9xivg4PXjjWS/TwcoXU3OpCSgapHhrZZmwqwzBcH8HfDNBkPEN0RhkGxG04UhllMmek8Op qgeU6gW97TrMto8G7VvUWlg2faqo5f/vWXR/GQ0X/PD2V8q+XFhWooRJcsEcgzS9u/zrxZ+e7zVm ceAOmyYXtE2MOkSYyi0Hk4kHMBxGTPjCCGFUzzuqVA+MKH7iHjJE6Xf68JOa2iWt+pkm6xQnp4lT gOhn1Ka4tXBLN7u8OouJifHF6d1adkrLMMxuNSjewTUKKfIgb1dJAgMBAAGjgZIwgY8wCQYDVR0T BAIwADALBgNVHQ8EBAMCBeAwHQYDVR0OBBYEFDu11OhErrzOrqbYT9eqNOMEfafDMB8GA1UdIwQY MBaAFH4rxKKduqw14zTOg+vxPhQBftCHMCAGA1UdEQQZMBeBFXBlZHpAZWFzZXNvZnR3YXJlLmNv bTATBgNVHSUEDDAKBggrBgEFBQcDBDANBgkqhkiG9w0BAQsFAAOCAgEAaE+kjV1XZWDOPKouhIO8 1EJ4Xdo+fa93Xy3j36Q2+vtroILIqOUqK/1Nox2gwHXLBJUA/E/eMeK9odi464dAuDVNi9HQjIgs 0ieaikKhYaAN6eNVq6iA+17ZRujpLKMW4MCZ+gR8oEZZyL9Qdsa9zAsstCXnx0/KU9sb9yPk5qdy eZFxZ67OalJEXHSzm7rmz+ikVSHg07h65JAYrz64fzI78DbRX901/4NqmgCF+OskxEJqZp6x40jd K7OvktVwnN2zGzJsKfIXk1l66my5nPbQPdus27bkne27GYwJP7eX1qXaRT6cxNU/CrxEutzTl/I5 bqt7sLarzFUYT+e5fA1CQtR5cJTSlUnSHoeMijDhLcn4pNAq1aTYj0ghYyPLO4ycdnNYTrdwMmgg MIYgcdjIi9o7QTm4iVB8FcoS1SmSeiBumGW46Dc2+Agc2lDsmHsH3i++XYBR2M+FUULzQGnpmPTj TIDrwCt4ZucAGOx/mXLONqFQIZvbPR0ZP3xf4U076fZn1K8rxxhVNAG4nxqXMNFqLT0bjwhYo6sr zAlvIyB3FLSXrKLhSQ+ujQlve5Lw5B5uNk6enq6l8Ru9ZJIHwiTzPmVkerYjPlNKstzOf8eseNna sG0wKMcjJjiwdzBaIHI03ACZo/v6zav+VIiowxnZnLnGjRwuwSP8gW4xggTuMIIE6gIBATCBuTCB szELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdMZWFuZGVyMRwwGgYDVQQK DBNFYXNlIFNvZnR3YXJlLCBJbmMuMRQwEgYDVQQLDAtDYXN0bGUgSG9tZTEoMCYGA1UEAwwfQ2Fz dGxlIEhvbWUgTWFpbCBDZXJ0IEF1dGhvcml0eTEkMCIGCSqGSIb3DQEJARYVcGVkekBlYXNlc29m dHdhcmUuY29tAgEBMA0GCWCGSAFlAwQCAQUAoIICBTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB MBwGCSqGSIb3DQEJBTEPFw0xOTExMjIxNDA3MTFaMC8GCSqGSIb3DQEJBDEiBCCsnno+bOuFfcJk MJml5d3gRKXMGriPqFrNqViffe7PJTCBygYJKwYBBAGCNxAEMYG8MIG5MIGzMQswCQYDVQQGEwJV UzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0xlYW5kZXIxHDAaBgNVBAoME0Vhc2UgU29mdHdh cmUsIEluYy4xFDASBgNVBAsMC0Nhc3RsZSBIb21lMSgwJgYDVQQDDB9DYXN0bGUgSG9tZSBNYWls IENlcnQgQXV0aG9yaXR5MSQwIgYJKoZIhvcNAQkBFhVwZWR6QGVhc2Vzb2Z0d2FyZS5jb20CAQEw gcwGCyqGSIb3DQEJEAILMYG8oIG5MIGzMQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO BgNVBAcMB0xlYW5kZXIxHDAaBgNVBAoME0Vhc2UgU29mdHdhcmUsIEluYy4xFDASBgNVBAsMC0Nh c3RsZSBIb21lMSgwJgYDVQQDDB9DYXN0bGUgSG9tZSBNYWlsIENlcnQgQXV0aG9yaXR5MSQwIgYJ KoZIhvcNAQkBFhVwZWR6QGVhc2Vzb2Z0d2FyZS5jb20CAQEwDQYJKoZIhvcNAQEBBQAEggIAIcH4 EYSHWkniJpHpY4Kc8fLJ0e/gagx5atPwDzEkncL03KW/YUmqmC/55DNOoyAvKfmboD/MDMboOu8m WtEHUswn7fWkG7aMOlKajQHb1Qc4PA+JkjRnBdIx9ayCZVB+KzX1qPz51lRvjcdDUtqyz4bHkaKL BX2E/6JJ59QMjIKnyDQQGczy3uQ6a/pKPK735qg08RVSL115EEvngZx3Djtdq3eCdWj1L8ok3yoX 69f67U4bLYNO9qtbgzCETh0amHAcDPpLwv0LrjQAa0h5hryt4dtQJMJg1GG39a1LdkCsV37fKJY3 pOuYYgaq3AGdjMV/4NZVf928jNk1d84uhBbT5WOmOcKyakCT9ZjPke+vRJj3pdbrEdMYX13hTX1s vZA2OZ8gfxvHaDuXeB51CmBFyl9c+RFZTGt5RrJMNv/oPVv9rj1xhZd26CY/QcC86yj5yxOFH4xC tDoRyo0niJv55TyhXOZPVxjYJIqypuDJKn7xSxXx4At8LR3T1IjqGjO/OfLywpQdOaAb823O6hOt rjYsTn28VGf42C3dtHAjaSIHWUG950wvn64gi8mrafUd7oueblOUHWZNmMS6OuDBIUOWQwQFmRIz bMIwSSgl3m3gUR00etG62iLU4vrnxTmzfv3CscxBTpIE2brNTiwbPWg3aph3jE/YgkQdaKEAAAAA AAA= --Apple-Mail=_03162597-756F-49C8-AC1C-ABAA69726305--