A NOTE has been added to this issue. ====================================================================== https://www.austingroupbugs.net/view.php?id=1561 ====================================================================== Reported By: calestyo Assigned To: ====================================================================== Project: Issue 8 drafts Issue ID: 1561 Category: Shell and Utilities Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Christoph Anton Mitterer Organization: User Reference: Section: various Page Number: N/A Line Number: N/A Final Accepted Text: ====================================================================== Date Submitted: 2022-02-01 00:10 UTC Last Modified: 2022-02-09 01:58 UTC ====================================================================== Summary: clarify what kind of data shell variables need to be able to hold ======================================================================
---------------------------------------------------------------------- (0005669) kre (reporter) - 2022-02-09 01:58 https://www.austingroupbugs.net/view.php?id=1561#c5669 ---------------------------------------------------------------------- Re https://www.austingroupbugs.net/view.php?id=1561#c5668: but one could implicitly deduce No, that' snot how it works, If the standard requires something to be done, it will say so. If it requires somethingnot to be done, it will say so. If it says nothing on an issue, then nothing is required. If this causes an interoperability problem, then the standard is broken, and should be fixed. Here, nothing needs to be done (oe perhaps beyond what has already been done) as it is already unspecified what happens in this case (which means applications cannot depend upon either behaviour): >From 2.9.1.6 in draft 2.1: It is unspecified whether environment variables that were passed to the shell when it was invoked, but were not used to initialize shell variables (see Section 2.5.3) because they had invalid names, are included in the environment passed to execl( ) and (if execl( ) fails as described above) to the new shell. Don't get all uptight that it says "environment variables" - as far as the stanrdard is concerned, everything in the environment is an environment variable, as that's all the standard defines to go there. Anything with a valid name (which must be terminated by '=' to be valid) gets turned into a shell variable, and exported. Everything else has an invalid name, and can be ignored by the shell (or used for any other purpose the shell desires). Issue History Date Modified Username Field Change ====================================================================== 2022-02-01 00:10 calestyo New Issue 2022-02-01 00:10 calestyo Name => Christoph Anton Mitterer 2022-02-01 00:10 calestyo Section => various 2022-02-01 00:10 calestyo Page Number => N/A 2022-02-01 00:10 calestyo Line Number => N/A 2022-02-01 19:33 mirabilos Note Added: 0005645 2022-02-01 19:44 calestyo Note Added: 0005647 2022-02-01 20:52 chet_ramey Note Added: 0005649 2022-02-01 23:07 kre Note Added: 0005650 2022-02-02 15:15 chet_ramey Note Added: 0005652 2022-02-02 16:39 calestyo Note Added: 0005653 2022-02-02 18:44 kre Note Added: 0005654 2022-02-06 11:18 mirabilos Note Added: 0005662 2022-02-06 18:18 chet_ramey Note Added: 0005665 2022-02-06 23:17 kre Note Added: 0005666 2022-02-08 15:14 calestyo Note Added: 0005668 2022-02-09 01:58 kre Note Added: 0005669 ======================================================================
