Re: Solaris 10: Catching errors of builtin "cd" command in "/bin/sh"

Paul Eggert <[email protected]> Sun, 27 Jul 2025 12:15:24 -0700
Newsgroups gmane.comp.sysutils.autoconf.general
Organization UCLA Computer Science Department
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------hMu301OKVMjKoMsyeGKy2BdS
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2025-07-26 18:33, Alan Coopersmith wrote:
> A very old bug in the Solaris bug database, originally filed in 1994 
> against
> both SunOS 4.1.3_U1 and Solaris 2.3 claims that this is intentional 
> behavior

Oh my, that's a blast from the past.

Thanks, Farblos, for pointing out this gotcha. I installed the attached 
to document it, plus some other gotchas I noticed nearby.

You'd think cd would be simple but nooooo, it confused even its original 
inventors. See 
<https://www.nokia.com/bell-labs/about/dennis-m-ritchie/hist.html> and 
look for "chdir".
--------------hMu301OKVMjKoMsyeGKy2BdS
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-doc-update-cd-info.patch"
Content-Disposition: attachment; filename="0001-doc-update-cd-info.patch"
Content-Transfer-Encoding: base64

RnJvbSBiMWViNTlhNzhhMGQ1ZjFiZGIxMGJjODg2OWQ1ZTQ4ZjczZGNiYzdhIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1
PgpEYXRlOiBTdW4sIDI3IEp1bCAyMDI1IDEwOjI5OjQyIC0wNzAwClN1YmplY3Q6IFtQQVRD
SF0gZG9jOiB1cGRhdGUgY2QgaW5mbwoKKiBkb2MvYXV0b2NvbmYudGV4aTogTW9kZXJuaXpl
IGFuZCB1cGRhdGUgZGVzY3JpcHRpb24Kb2YgY2QgZ290Y2hhcy4gIFByb21wdGVkIGJ5IGVt
YWlsIGZyb20gRmFyYmxvcyBpbjoKaHR0cHM6Ly9saXN0cy5nbnUub3JnL3IvYXV0b2NvbmYv
MjAyNS0wNy9tc2cwMDAwNC5odG1sCi0tLQogZG9jL2F1dG9jb25mLnRleGkgfCAzOSArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAz
NyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9hdXRv
Y29uZi50ZXhpIGIvZG9jL2F1dG9jb25mLnRleGkKaW5kZXggNzhiYmVjMDMuLmM2YjIzYzc4
IDEwMDY0NAotLS0gYS9kb2MvYXV0b2NvbmYudGV4aQorKysgYi9kb2MvYXV0b2NvbmYudGV4
aQpAQCAtMTcxNDUsNiArMTcxNDUsMTIgQEAgb3V0cHV0IHZpYSB0ZXJtaW5hbCBlc2NhcGUg
c2VxdWVuY2VzLCBhbmQgdGhlIHJlc3VsdCBjYW4gY2F1c2Ugc3B1cmlvdXMKIGZhaWx1cmVz
IHdoZW4gdGhlIG91dHB1dCBpcyBub3QgZGlyZWN0ZWQgdG8gYSB0ZXJtaW5hbC4gIENvbmZp
Z3VyZQogc2NyaXB0cyB1c2UgTTRzaCwgd2hpY2ggYXV0b21hdGljYWxseSB1bnNldHMgdGhp
cyB2YXJpYWJsZS4KIAorQGl0ZW0gSE9NRQorQGV2aW5kZXggSE9NRQorU3RyYW5nZSB0aGlu
Z3MgY2FuIGhhcHBlbiBpZiBAZW52e0hPTUV9IGlzIHVuc2V0IG9yIGVtcHR5LgorRm9yIGV4
YW1wbGUsIHBsYWluIEBjb21tYW5ke2NkfSAod2l0aCBubyBhcmd1bWVudHMpIGhhcyB1bnNw
ZWNpZmllZCBiZWhhdmlvci4KK0Fsc28sIEBlbnZ7SE9NRX0gc2hvdWxkIGJlIGFic29sdXRl
LCBub3QgcmVsYXRpdmUuCisKIEBpdGVtIElGUwogQGV2aW5kZXggSUZTCiBMb25nIGFnbywg
c2hlbGwgc2NyaXB0cyBpbmhlcml0ZWQgQGVudntJRlN9IGZyb20gdGhlIGVudmlyb25tZW50
LApAQCAtMTczODAsNiArMTczODYsMTIgQEAgdGhhbiAzLjEuNi1kZXYtMTguICBJZiB5b3Ug
YXJlIHVzaW5nIGFuIG9sZGVyIEBjb21tYW5ke3pzaH0KIGFuZCBmb3JnZXQgdG8gc2V0IEBl
bnZ7TlVMTENNRH0sCiB5b3VyIHNjcmlwdCBtaWdodCBiZSBzdXNwZW5kZWQgd2FpdGluZyBm
b3IgZGF0YSBvbiBpdHMgc3RhbmRhcmQgaW5wdXQuCiAKK0BpdGVtIE9MRFBXRAorQGV2aW5k
ZXggT0xEUFdECitQT1NJWCByZXF1aXJlcyB0aGF0IEBjb21tYW5ke2NkfSBtdXN0IHVwZGF0
ZSB0aGUgQGVudntPTERQV0R9CitlbnZpcm9ubWVudCB2YXJpYWJsZSwgaWYgc2V0LCB0byBw
b2ludCB0byB0aGUgbmFtZSBvZiB0aGUgcHJldmlvdXMKK2RpcmVjdG9yeSwgYnV0IFNvbGFy
aXMgMTAgQGNvbW1hbmR7L2Jpbi9zaH0gZG9lcyBub3Qgc3VwcG9ydCB0aGlzLgorCiBAaXRl
bSBvcHRpb25zCiBAZXZpbmRleCBvcHRpb25zCiBGb3IgQGNvbW1hbmR7enNofSA0LjMuMTAs
IEBlbnZ7b3B0aW9uc30gaXMgdHJlYXRlZCBhcyBhbiBhc3NvY2lhdGl2ZQpAQCAtMTc4NjAs
OCArMTc4NzIsMjYgQEAgQWxzbywgQXV0b2NvbmYtZ2VuZXJhdGVkIHNjcmlwdHMgY2hlY2sg
Zm9yIHRoaXMgcHJvYmxlbSB3aGVuIGNvbXB1dGluZwogdmFyaWFibGVzIGxpa2UgQGNvZGV7
YWNfdG9wX3NyY2Rpcn0gKEBweHJlZntDb25maWd1cmF0aW9uIEFjdGlvbnN9KSwKIHNvIGl0
IGlzIHNhZmUgdG8gQGNvbW1hbmR7Y2R9IHRvIHRoZXNlIHZhcmlhYmxlcy4KIAotUE9TSVgg
c3RhdGVzIHRoYXQgYmVoYXZpb3IgaXMgdW5kZWZpbmVkIGlmIEBjb21tYW5ke2NkfSBpcyBn
aXZlbiBhbgotZXhwbGljaXQgZW1wdHkgYXJndW1lbnQuICBTb21lIHNoZWxscyBkbyBub3Ro
aW5nLCBzb21lIGNoYW5nZSB0byB0aGUKK1BPU0lYIHNwZWNpZmllcyBhbiBAb3B0aW9uey1l
fSBvcHRpb24gdGhhdCBhZmZlY3RzIHRoZSBleGl0IHN0YXR1cword2hlbiB0aGUgQG9wdGlv
bnstUH0gb3B0aW9uIGlzIGluIGVmZmVjdC4gIFBvcnRhYmxlIHNjcmlwdHMgc2hvdWxkCith
dm9pZCBpdCBmb3IgdGhlIHNhbWUgcmVhc29uIHRoZXkgYXZvaWQgQG9wdGlvbnstUH0uCisK
K0BldmluZGV4IE9MRFBXRAorQGV2aW5kZXggUFdECitQT1NJWCBzYXlzIHRoYXQgYSBzdWNj
ZXNzZnVsIEBjb21tYW5ke2NkfSB1cGRhdGVzIHRoZSB2YWx1ZXMgb2YgdGhlCitAZW52e09M
RFBXRH0gYW5kIEBlbnZ7UFdEfSB2YXJpYWJsZXMsIGFuZCB0aGF0IEBjb21tYW5ke2NkIC19
IGFjdHMgbGlrZQorQGNvbW1hbmR7Y2QgJE9MRFBXRH0uICBPbGRlciBzaGVsbHMsIHN1Y2gg
YXMgU29sYXJpcyAxMAorQGNvbW1hbmR7L2Jpbi9zaH0sIGRvIG5vdCBzdXBwb3J0IHRoaXMg
YW5kIHBvcnRhYmxlIHNjcmlwdHMgc2hvdWxkIG5vdAorcmVseSBvbiBpdC4KKworQGV2aW5k
ZXggSE9NRQorSWYgQGVudntIT01FfSBpcyB1bnNldCBvciBlbXB0eSwgdGhlIGJlaGF2aW9y
IG9mIEBjb21tYW5ke2NkfSB3aXRoIG5vCithcmd1bWVudHMgaXMgaW1wbGVtZW50YXRpb24t
ZGVmaW5lZCwgc28gcG9ydGFibGUgc2NyaXB0cyBzaG91bGQgYXZvaWQgaXQKK2luIHRoYXQg
Y2FzZS4KKworUE9TSVggMTAwMy4xLTIwMjQgc3RhdGVzIHRoYXQgQGNvbW1hbmR7Y2R9IG11
c3QgZmFpbCBpZiBnaXZlbiBhbgorZXhwbGljaXQgZW1wdHkgYXJndW1lbnQuICBIb3dldmVy
LCBlYXJsaWVyIFBPU0lYIGVkaXRpb25zIGRpZCBub3QKK3NwZWNpZnkgdGhlIGJlaGF2aW9y
IGFuZCBzb21lIHNoZWxscyBkbyBub3RoaW5nLCBzb21lIGNoYW5nZSB0byB0aGUKIGZpcnN0
IGVudHJ5IGluIEBlbnZ7Q0RQQVRIfSwgc29tZSBjaGFuZ2UgdG8gQGVudntIT01FfSwgYW5k
IHNvbWUgZXhpdAogdGhlIHNoZWxsIHJhdGhlciB0aGFuIHJldHVybmluZyBhbiBlcnJvci4g
IFVuZm9ydHVuYXRlbHksIHRoaXMgbWVhbnMKIHRoYXQgaWYgQHNhbXB7JHZhcn0gaXMgZW1w
dHksIHRoZW4gQHNhbXB7Y2QgIiR2YXIifSBpcyBsZXNzIHByZWRpY3RhYmxlCkBAIC0xNzg3
MCw2ICsxNzkwMCwxMSBAQCBhdCBjaGFuZ2luZyB0byBAZW52e0hPTUV9LCBhbHRob3VnaCB0
aGlzIGlzIHByb2JhYmx5IG5vdCB3aGF0IHlvdSB3YW50ZWQKIGluIGEgc2NyaXB0KS4gIFlv
dSBzaG91bGQgY2hlY2sgdGhhdCBhIGRpcmVjdG9yeSBuYW1lIHdhcyBzdXBwbGllZAogYmVm
b3JlIHRyeWluZyB0byBjaGFuZ2UgbG9jYXRpb25zLgogCitJZiBAY29tbWFuZHtjZH0gZmFp
bHMsIFBPU0lYIHJlcXVpcmVzIHRoZSBpbnZva2luZyBzaGVsbCB0byBiZWhhdmUgYXMgaWYK
K0Bjb21tYW5ke2NkfSBleGl0ZWQgd2l0aCBzdGF0dXMgMSwgd2hpY2ggbWVhbnMgdGhlIGlu
dm9raW5nIHNoZWxsIGNhbiBjb250aW51ZS4KK0hvd2V2ZXIsIFNvbGFyaXMgMTAgQGNvbW1h
bmR7L2Jpbi9zaH0gYWJvcnRzIHRoZSBjb250YWluaW5nIGNvbW1hbmQgaWYKK2ludGVyYWN0
aXZlLCBhbmQgZXhpdHMgb3RoZXJ3aXNlLgorCiBAeHJlZntTcGVjaWFsIFNoZWxsIFZhcmlh
Ymxlc30sIGZvciBwb3J0YWJpbGl0eSBwcm9ibGVtcyBpbnZvbHZpbmcKIEBjb21tYW5ke2Nk
fSBhbmQgdGhlIEBlbnZ7Q0RQQVRIfSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KIEFsc28gcGxl
YXNlIHNlZSB0aGUgZGlzY3Vzc2lvbiBvZiB0aGUgQGNvbW1hbmR7cHdkfSBjb21tYW5kLgot
LSAKMi40OC4xCgo=

--------------hMu301OKVMjKoMsyeGKy2BdS--