From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21383 invoked by alias); 11 Jul 2017 19:12:21 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 21176 invoked by uid 89); 11 Jul 2017 19:12:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.3 required=5.0 tests=BAYES_20,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=VERY, dell, puzzled, swear X-HELO: smtp02.udag.de Received: from smtp02.udag.de (HELO smtp02.udag.de) (62.146.106.18) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 11 Jul 2017 19:12:17 +0000 Received: from [10.0.0.40] (hsi-kbw-046-005-012-027.hsi8.kabel-badenwuerttemberg.de [46.5.12.27]) by smtp02.udag.de (Postfix) with ESMTPA id 4D248AE8 for ; Tue, 11 Jul 2017 21:12:15 +0200 (CEST) From: =?UTF-8?Q?J=c3=bcrgen_Wagner?= Subject: Challenge: a VERY strange problem with command substitution in bash To: cygwin@cygwin.com Message-ID: <93b0a4e1-78eb-798e-9946-cd38ab288cce@wagner.is> Date: Tue, 11 Jul 2017 19:12:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms070806040500030600070405" X-IsSubscribed: yes X-SW-Source: 2017-07/txt/msg00192.txt.bz2 --------------ms070806040500030600070405 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-Language: en-US Content-length: 2931 Hello, this is my first posting here as I do not see any other hope of getting this resolved. Research in mailing lists and other Cygwin users' questions on various sites have not proven to be useful. 1. Ubuntu 4.4.0-71-generic x86_64, /bin/bash $ value=3D"$( date | cat )"; echo "$? <$value>" 0 $ value=3D"$( date )"; echo "$? <$value>" 0 $ date | cat Tue Jul 11 20:22:22 CEST 2017 Results are the same for normal users and for root. Everything is fine and as expected. 2. Windows 10, Version 1703, Build 15063.413 on a Dell 64bit platform, latest 64bit Cygwin (CYGWIN_NT-10.0, 2.8.1(0.312/5/3) 2017-07-03 14:11 x86_64 Cygwin) /bin/bash $ value=3D"$( date | cat )"; echo "$? <$value>" 127 <> $ value=3D"$( date )"; echo "$? <$value>" 0 $ date | cat Tue Jul 11 20:25:17 CEST 2017 Results are the same for normal users and for users with administrative rights, even if I run this under the TrustedInstaller rights. Fully-qualified paths (/bin/date and /bin/cat) does not change the results. 3. On the same Windows 10 system as above, the following forms work fine $ value=3D"$( date | cat )"; echo "$? <$value>" 0 $ value=3D"$( bash -c 'date | cat' )"; echo "$? <$value>" 0 # value=3D"$( date ; pwd )"; echo "$? <$value>" 0 Using backquotes instead of the command substitution with $(...) does not change the results. I could swear this did work in an earlier version of Cygwin on my Windows 7 machine. I tried this to see if the code in the parentheses is executed at all: $ value=3D"$( date 2> foo | cat )"; echo "$? <$value>" The file "foo" was not created, i.e., it seems the commands don't really get executed. $ value=3D"$( date && pwd )"; echo "$? <$value>" 0 $ value=3D"$( date || pwd )"; echo "$? <$value>" 0 both work, so some control structures seem to be permissible... just not a pipe. What is going on? Some misconfiguration? A Cygwin bug? Some interaction with something weird in Windows 10? I am at loss to understand what could be wrong... and am now most curious whether anybody has an idea what is causing this. Does it work/not work in the same way in your Cygwin installation? I came across this effect because ssh-host-config did not recognize me as administrator anymore. It's due to a check for a certain user group that uses a command substitution with a pipe. Replacing this with an equivalent command works. The original line used "id -G" and then a "grep -Eq" to check whether a certain group is on that list. I am VERY curious now! I've rarely been puzzled that much by such a very elementary shell expression (looking back at 34 years of Unix experience). Thanks much in advance! --J=C3=BCrgen --------------ms070806040500030600070405 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature Content-length: 5405 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG 9w0BBwEAAKCCCxswggUtMIIEFaADAgECAhBEyQFSvmpDYoqfvaqpCvnqMA0G CSqGSIb3DQEBCwUAMIGXMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRl ciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P RE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGllbnQgQXV0 aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0xNzA3MDIwMDAw MDBaFw0xODA3MDIyMzU5NTlaMCIxIDAeBgkqhkiG9w0BCQEWEWp1ZXJnZW5A d2FnbmVyLmlzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs25A CMX6bAZQKKCm2iVGdrabIOo7GDmry3CK7lOZ8RKJdJg3HU3GknP8es6ZwKGf m2424p6TdEZpcTHVFR9I6gOWwITs4Q1ie4M4H7rElux3JUZZDlYgCS0cEP6H oRRcdYp7U092ZIg+DOdZjr9Y5j6jHkfmq//lfX+ocOCUKD1BiYRf7O+giSB0 K3QhEj42/hr586RF79QrnpoaNKSWtojgKbsefLPcd+ubSU5CvOyY2RNqMY4s 7nPq9hxXC9j+WMXat/TMP3II+AoGxvP7jhvqzD/3ss134FzQFyYIeuNs3acU rlgn7ttM6mmEL5pw9LyfWKrBKl24wkUmIc/4+QIDAQABo4IB5zCCAeMwHwYD VR0jBBgwFoAUgq9sjPjF/pZhfOgfPStxSF7Ei8AwHQYDVR0OBBYEFFEI92d0 R1tPSvubpMcHvJ+S/tgQMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAA MCAGA1UdJQQZMBcGCCsGAQUFBwMEBgsrBgEEAbIxAQMFAjARBglghkgBhvhC AQEEBAMCBSAwRgYDVR0gBD8wPTA7BgwrBgEEAbIxAQIBAQEwKzApBggrBgEF BQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLm5ldC9DUFMwWgYDVR0fBFMw UTBPoE2gS4ZJaHR0cDovL2NybC5jb21vZG9jYS5jb20vQ09NT0RPUlNBQ2xp ZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNybDCBiwYIKwYB BQUHAQEEfzB9MFUGCCsGAQUFBzAChklodHRwOi8vY3J0LmNvbW9kb2NhLmNv bS9DT01PRE9SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWls Q0EuY3J0MCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5jb21vZG9jYS5jb20w HAYDVR0RBBUwE4ERanVlcmdlbkB3YWduZXIuaXMwDQYJKoZIhvcNAQELBQAD ggEBAILnZkDlkLuTHrv10O/XKKIz/D4q3qVNdIjr9j8yf2uZApXXshyaOO8N RSZdOw7t6yx0Z98/ZZurZ/dbt6v57Jy+cDWTB0tk+6nvs5nyrjOj0uNrSxJ1 PxGTGdiDFXmR/5HMRCIi/OoQWDfFLJ9KKhJvtzb5hNuw07TWRqQeXQDpKWii I1MjW5sNkPuIxPi5wCzfOKpHnnw4LQfpOnrCu/Pc5sZV+xkg6jvxEiDedpFp Fg4BoOmZOxtooQqwuh4mZATWS5RK08KaopHGmmEsck1KjVX9tIlvVUK5osrf PksE/xTl74lP5CPev8+EBhQFMPOK2tF0uDIpG4cxxvvKJCUwggXmMIIDzqAD AgECAhBqm+E4O/8ra58B1dm4p1JWMA0GCSqGSIb3DQEBDAUAMIGFMQswCQYD VQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQH EwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDErMCkGA1UE AxMiQ09NT0RPIFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xMzAx MTAwMDAwMDBaFw0yODAxMDkyMzU5NTlaMIGXMQswCQYDVQQGEwJHQjEbMBkG A1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRow GAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJT QSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6znlesKHZ1QBbHOAOY 08YYdiFQ8yV5C0y1oNF9Olg+nKcxLqf2NHbZhGra0D00SOTq9bus3/mxgUsg /Wh/eXQ0pnp8tZ8XZWAnlyKMpjL+qUByRjXCA6RQyDMqVaVUkbIr5SU0RDX/ kSsKwer3H1pT/HUrBN0X8sKtPTdGX8XAWt/VdMLBrZBlgvnkCos+KQWWCo63 OTTqRvaq8aWccm+KOMjTcE6s2mj6RkalweyDI7X+7U5lNo6jzC8RTXtVV4/V wdax720YpMPJQaDaElmOupyTf1Qib+cpukNJnQmwygjD8m046DQkLnpXNCAG juJy1F5NATksUsbfJAr7FLUCAwEAAaOCATwwggE4MB8GA1UdIwQYMBaAFLuv fgI9+qbxPISOre44mOzZMjLUMB0GA1UdDgQWBBSCr2yM+MX+lmF86B89K3FI XsSLwDAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADARBgNV HSAECjAIMAYGBFUdIAAwTAYDVR0fBEUwQzBBoD+gPYY7aHR0cDovL2NybC5j b21vZG9jYS5jb20vQ09NT0RPUlNBQ2VydGlmaWNhdGlvbkF1dGhvcml0eS5j cmwwcQYIKwYBBQUHAQEEZTBjMDsGCCsGAQUFBzAChi9odHRwOi8vY3J0LmNv bW9kb2NhLmNvbS9DT01PRE9SU0FBZGRUcnVzdENBLmNydDAkBggrBgEFBQcw AYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMA0GCSqGSIb3DQEBDAUAA4IC AQB4XLKBKDRPPO5fVs6fl1bsj6JrF/bz9kkIBtTYLzXN30D+03Hj6OxCDBEa IeNmsBhrJmuubvyE7HtoSmR809AgcYboW+rcTNZ/8u/Hv+GTrNI/AhqX2/ki QNxmgUPt/eJPs92Qclj0HnVyy9TnSvGkSDU7I5Px+TbO+88G4zipA2psZaWe EykgzClZlPz1FjTCkk77ZXp5cQYYexE6zeeN4/0OqqoAloFrjAF4o50YJafX 8mnahjp3I2Y2mkjhk0xQfhNqbzlLWPoT3m7j7U26u7zg6swjOq8hITYc3/np 5tM5aVyu6t99p17bTbY7+1RTWBviN9YJzK8HxzObXYWBf/L+VGOYNsQDTxAk 0Hbvb1j6KjUhg7fO294F29QIhhmiNOr84JHoy+fNLpfvYc/Q9EtFOI5ISYgO xLk3nD/whbUe9rmEQXLp8MB933Ij474gwwCPUpwv9mj2PMnXoc7mbrS22XUS eTwxCTP9bcmUdp4jmIoWfhQm7X9w/Zgddg+JZ/YnIHOwsGsaTUgj7fIvxqit h7DoJC91WJ8Lce3CVJqb1XWeKIJ84F7YLXZN0oa7TktYgDdmQVxYkZo1c5no aDKH9Oq9cbm/vOYRUM1cWcef20Wkyk5S/GFyyPJwG0fR1nRas3DqAf4cXxMi EKcff7PNa4M3RGTqH0pWR8p6EjGCBDUwggQxAgEBMIGsMIGXMQswCQYDVQQG EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdT YWxmb3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0 Q09NT0RPIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBF bWFpbCBDQQIQRMkBUr5qQ2KKn72qqQr56jANBglghkgBZQMEAgEFAKCCAlkw GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTcw NzExMTkxMjE0WjAvBgkqhkiG9w0BCQQxIgQgLuJx3cdXdt91zV35o2qgyBbY mNUKahAb2diR2AICzr0wbAYJKoZIhvcNAQkPMV8wXTALBglghkgBZQMEASow CwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggq hkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBvQYJKwYBBAGC NxAEMYGvMIGsMIGXMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBN YW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01PRE8g Q0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGllbnQgQXV0aGVu dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQRMkBUr5qQ2KKn72qqQr5 6jCBvwYLKoZIhvcNAQkQAgsxga+ggawwgZcxCzAJBgNVBAYTAkdCMRswGQYD VQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGjAY BgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMT0wOwYDVQQDEzRDT01PRE8gUlNB IENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhBE yQFSvmpDYoqfvaqpCvnqMA0GCSqGSIb3DQEBAQUABIIBAI/68uoTQEHSwyRS M2mOZUxiWw+pdxg4P25C/VB8LlsPmOAa1LC9/Wx7B6XxMD/Pj9Q+3KcfcNaG xKWQykZ7ph5H/zB4XAn8ROq4Z926m54m+8mCxvJlrgeg8kN29hBviSBiNS1A o1Uz4t8+qj4tZIflDXcHbzHxTRrQtUbxGQw0Eck3h1CAahZvvIMJW1ICB2Jd cSMh7534UEzwEDDs81HGx7DcXVEheLAX+U8XSOpY60Adn8S20Y1FfrLt0GuP wwlZtRVF+mOj3JSDFvRhcfH4k6QTubSCFQ4kdAJc29VgQQNI2VRGOkmsTRRh vpwnaCQdIrIck5TCgzxrLhJhZnkAAAAAAAA= --------------ms070806040500030600070405--