delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2017/07/11/15:12:54

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:subject:to:message-id:date:mime-version
:content-type; q=dns; s=default; b=dysXxmPw5Nl2FJRjfKuZwDXBt/3AP
6yZikoT0bxe5uizEFTM0X1eLuNT3ikTrkpHTk6yKDbRQoEnC6TqYPBruE/qz/upm
D46g2pzEADY06cdCNGmCTo0cNxdQs82JAkeBmlKV+0y52tkTjI9SEsDR8uwHNwwP
q66XbFBUyaVTak=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:from:subject:to:message-id:date:mime-version
:content-type; s=default; bh=pYw/06TlJdyCJEMqDylgn/PeLU0=; b=fU8
1xmie/hPm+3hA7qND+r6ncnncx+vq+pSzkevRApHaM4iqpT+RgCQuIWlHmLPF5ZC
xd90jLkghwHRaOL3COWR1l2gr/GSXx0YvmbUz6Z75VL7BdkNcwuCwz8uLiDEeGE+
DyRwl2hgr9xyXQRn3snDvqLG2gsQqW1yi81+ApIM=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
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
From: =?UTF-8?Q?J=c3=bcrgen_Wagner?= <juergen AT wagner DOT is>
Subject: Challenge: a VERY strange problem with command substitution in bash
To: cygwin AT cygwin DOT com
Message-ID: <93b0a4e1-78eb-798e-9946-cd38ab288cce@wagner.is>
Date: Tue, 11 Jul 2017 21:12:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
X-IsSubscribed: yes

--------------ms070806040500030600070405
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-US

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 <Tue Jul 11 20:21:22 CEST 2017>
$ value=3D"$( date )"; echo "$? <$value>"
0 <Tue Jul 11 20:21:59 CEST 2017>
$ 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 <Tue Jul 11 20:25:01 CEST 2017>
$ 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 <Tue Jul 11 20:26:12 CEST 2017>
$ value=3D"$( bash -c 'date | cat' )"; echo "$? <$value>"
0 <Tue Jul 11 20:25:29 CEST 2017>
# value=3D"$( date ; pwd )"; echo "$? <$value>"
0 <Tue Jul 11 20:28:08 CEST 2017
/home/juergen>


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 <Tue Jul 11 20:49:09 CEST 2017
/home/juergen>

$ value=3D"$( date || pwd )"; echo "$? <$value>"
0 <Tue Jul 11 20:32:27 CEST 2017>

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

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--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019