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