Content deleted Content added
→Anchors: Reply |
|||
(320 intermediate revisions by 72 users not shown) | |||
Line 1:
{{
{{WikiProject
{{
{{WikiProject Linux |importance=High}}
{{WikiProject Computing |importance=Mid |software=yes|software-importance=High|free-software=yes|free-software-importance=High }}
}}
{{User:ClueBot III/ArchiveThis
| age =2160
| archiveprefix =Talk:Bash (Unix shell)/Archive
| numberstart =1
| maxarchsize =75000
| header ={{Automatic archive navigator}}
| minkeepthreads =5
| format = %%i
}}{{Archives|bot=ClueBot III|age=90}}
<!-- Template:Setup cluebot archiving -->
== Single maintainer for over 30 years ==
''<small>CC {{re|Blush30720}} {{re|Neko-chan}}</small>''<br>
I think it's worth to mention the fact that only one person maintained bash for over 30 years (as of 2025). All along. <s>Not breaking compatibility even once.</s> Just like in that Xkcd 2347 meme. We have at least two sources on that. Any objections? <span style="font-weight: bold" >[[User:Alexander_Davronov|<span style="color:#a8a8a8;">AXO</span><span style="color:#000">NOV</span>]] [[User talk:Alexander_Davronov|(talk)]] [[Special:Contributions/Alexander_Davronov|⚑]]</span> 19:53, 26 April 2025 (UTC)
:@[[User:Alexander Davronov|Alexander Davronov]] I'm not sure why I'm tapped in on this, but if you have good sources, go for it ~<small>ฅ(ↀωↀ=)</small>[[User:Neko-chan|neko-chan]]<sup>[[User talk:Neko-chan|nyan]]</sup> 01:28, 27 April 2025 (UTC)
:"Not breaking compatibility even once" is a demonstrated falsehood. I've used Bash as my primary shell and have on many occasions had to make changes to my scripts to accommodate changes to Bash; often this only required minor tweaks, but at least twice it has required significant reworking. For example, non-local flow control using <code>break</code> and <code>continue</code> was broken without warning in Bash 4.3. Although the previous behaviour can be reinstated using <code>shopt -s compat42</code>, that disables all subsequent improvements as well, so numerous scripts required significant re-working to get around the loss of this functionality.
:There is even a breaking change expected in the upcoming 5.3 release, ''and'' the maintainer is aware of this: it introduces a mandatory warning for usage of `printf` that has hitherto worked silently, with no option to suppress this warning. This spurious output will cause breakage in a small proportion of CI/CD chains and false alarms in some system monitoring tools. Yet the maintainer asserts that it won´t cause enough damage to existing systems to justify any ameliorative adjustment; I'm a "lone wolf" and should be ignored.
:I'm way beyond disappointed. [[User:Martin Kealey|Martin Kealey]] ([[User talk:Martin Kealey|talk]]) 07:13, 18 May 2025 (UTC)
::Thanks for reaching and pointing that out. I was totally wrong on that. Turns out there is a whole range of [https://www.gnu.org/software/bash/manual/html_node/Shell-Compatibility-Mode.html options] to invoke compatibilty modes... Including <code><nowiki>--posix</nowiki></code>. <span style="font-weight: bold" >[[User:Alexander_Davronov|<span style="color:#a8a8a8;">AXO</span><span style="color:#000">NOV</span>]] [[User talk:Alexander_Davronov|(talk)]] [[Special:Contributions/Alexander_Davronov|⚑]]</span> 07:58, 18 May 2025 (UTC)
::Hi Martin, Those are some useful and, as far as I know, accurate points. However, please direct any comments about the bash-bug channel back into that channel. I appreciate you, Wiley [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 22:26, 6 July 2025 (UTC)
:Bash is a sizeable program. Since so much cross-compatibility and ease-of-use has been written into it across the years, there are some instances that effectively (and quite easily) can be read as new commits which break past functionality, even when such a break had been completely unintentional. Part of the issue is that sometimes people use bash in any old way that just seems to do what they think it does, whether or not they're using proper syntax, and whether or not the code actually does what they expect it to do. As a result, people can end up relying on some functionality originally produced as a side-effect of some other proper syntax, or even as a side-effect of some as-yet-discovered-and-resolved bug. Thus, people could be using some super-wierd syntax, and when the bug gets fixed, the side-effect of the bug disappears, and people assume some regression's occurred, when in reality, their super-weird syntax, which was never supported in the first place, has stopped working the way they expect, and by virtue of the program functioning with fewer errors than it had prior. But really, and in my opinion, the difficulty with such a claim of, "not even once," would be the burden of having to prove that ("not even once" had indeed occurred) , which would mean proving a negative claim, which would require searching through all of the commits to positively identify the absence of any breaks in compatibility: surely a tedious and onerous effort. [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 22:24, 6 July 2025 (UTC)
== Misleading timeline points ==
Some anachronisms:
* 1971 - Ken Thompson developed the first shell for UNIX ''called the 'V6 shell' '' - except that “v6 shell” was simply shorthand for whatever version of the shell was shipped as part of <code>UNIX v6</code>, which itself wasn't shipped until 5 years later. This misattribution extends to claims of features that did not exist in 1971, such as pipelines. <br/>The reference to <code>osh</code> ''still'' being distributed is clearly out of place; it should probably sit against the 1977 release of the Bourne Shell.
* 1977 - ASCII published by NIST - technically true, but it had been published by ANSI in 1968. (By 1977 ASCII had ''already'' been the dominant encoding for several years, so it's not clear why it's mentioned here at all.)
* 1984 - ''IEEE POSIX work started in 1984'' - except it wasn't driven by IEEE until 1986, and wasn't called POSIX until 1988.
Also, much of this list really belongs under [[UNIX]] rather than [[Bash (Unix shell)|Bash]].
[[User:Martin Kealey|Martin Kealey]] ([[User talk:Martin Kealey|talk]]) 23:16, 18 May 2025 (UTC)
:I suggest we move statements on ASCII to the article about ASCII. <br>Regarding POSIX: I think we should keep this statement cause it specifies "work" on standard, not standard itself which was published in 1988. <span style="font-weight: bold" >[[User:Alexander_Davronov|<span style="color:#a8a8a8;">AXO</span><span style="color:#000">NOV</span>]] [[User talk:Alexander_Davronov|(talk)]] [[Special:Contributions/Alexander_Davronov|⚑]]</span> 09:21, 21 May 2025 (UTC)
:yes, there's nearly no history of bash itself in most of these entries. Removing them. [[User:MüllerMarcus|MüllerMarcus]] ([[User talk:MüllerMarcus|talk]]) 08:40, 7 June 2025 (UTC)
:Memory is fungible. Any anachronisms should be addressed with references to sources. [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 23:15, 6 July 2025 (UTC)
== Random grab-bag ==
I find the overall quality of this article disappointing. It feels like a random grab-bag of stuff without a structural focus on how Bash (a) implements a POSIX shell, and (b) offers extensions.
The ordering of the details makes little sense, mixing POSIX features and extensions together.
Some writing indicate poor understanding of the shell itself, mixing terminology, conflating "terminal" and "shell" as if they were the same thing. Some citations don't actually say what the text does. (For example, it says that "trap" was a new feature in version 2; it wasn't, it was there in version 1.)
The "grab bag" feel of this whole article makes me think that it should be ''substantially'' cut down, referencing other (more reliable) sources for actual timelines and feature descriptions. All explanations of POSIX features should be cut out and moved to an article about the POSIX shell. [[User:Martin Kealey|Martin Kealey]] ([[User talk:Martin Kealey|talk]]) 05:01, 13 June 2025 (UTC)
:It's a story, Martin. [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 22:31, 6 July 2025 (UTC)
:"All explanations of POSIX features should be cut out and moved to an article about the POSIX shell."
:I disagree for these reasons: 1) POSIX mode is a core component of the Bash program, the article is about the Bash program, therefore the article should include information on POSIX mode; 2) People use Bash to execute #!/bin/sh scripts all the time, there is no official reference implementation of the POSIX specification, and all Unix-like shells which implement some or all of the POSIX specification do so in slightly or very different ways, therefore, any discussion of how Bash implements the POSIX specification should be included within the article about the Bash program. [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 23:12, 6 July 2025 (UTC)
:I agree, and this article is generally difficult to read for a non-technical expert, as its structure more resembles an instruction manual than a encyclopedia entry. At a minimum, such content deserves its own page, perhaps ''Bash internals''? [[User:OceanLoop|OceanLoop]] ([[User talk:OceanLoop|talk]]) 01:35, 26 August 2025 (UTC)
::OceanLoop,
::"''Misleading edit summaries," is really quite incorrect, I am sure, and, based upon a solely partial reading.'' I've reverted some of your edits because they were disruptive. I'm trying to clarify the prose and the ideas. Writing can be messy. It's a work in progress. I suggest you delete either your own contributions or post to this talk page before deleting things. Given that, I also have this concern that you've voiced, that the page may be too much of a how-to manual, so I've put the How-to banner at the top of the article, to reflect this concern. Please take care. [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 23:15, 26 August 2025 (UTC)
:::Do not revert any more edits until you address the feedback provided by multiple users on this Talk page. Please start by reading [[WP:NOTHOWTO]]. If you need additional community consensus, ask for help in the [[WP:TEAHOUSE|Teahouse]]. Thank you. [[User:OceanLoop|<b style="background-image:linear-gradient(45deg,#268bd2,#6c71c4,#d33682,#dc322f);border:1px solid #fdf6e3;border-radius:1em;font-variant:small-caps;padding:0 1em;color:#fdf6e3;">🌊 oceanloop</b>]] 00:00, 27 August 2025 (UTC)
::::I'll revert an edit when it's harmful, OceanLoop. You can stop or I can look into getting you banned. [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 00:09, 27 August 2025 (UTC)
:::::[[WP:EDITWAR|Edit warring]] is not productive and against the Wikipedia rules. Please seek community consensus for your changes using this Talk page. [[User:OceanLoop|<b style="background-image:linear-gradient(45deg,#268bd2,#6c71c4,#d33682,#dc322f);border:1px solid #fdf6e3;border-radius:1em;font-variant:small-caps;padding:0 1em;color:#fdf6e3;">🌊 oceanloop</b>]] 00:12, 27 August 2025 (UTC)
::::::Honestly [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 00:28, 27 August 2025 (UTC)
::::::Thank you for volunteering to teach me about Wikipedia [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 00:30, 27 August 2025 (UTC)
::::::The only person edit warring is you, OceanLoop [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 00:46, 27 August 2025 (UTC)
== It's a story ==
The process of learning how to use Bash includes understanding what things like ASCII and POSIX are. The process of unearthing The Story of Bash involves understanding where things like ASCII and POSIX come from and why. Is there exess dross in the process? Yes; that is inevitable. Is it bereft of purpose? By no means. Are the excess lists easily clicked-passed using the Table of Contents or the PageDown button? Yes. Are seemingly well-known aphorisms debunked as myths in the process? Yes: "rc" does not stand for 'resource configuration,' and is in fact rooted in the term "RUNCOM." Is something like that useful? In my opinion, very much so. Discussion? [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 22:40, 6 July 2025 (UTC)
:@[[User:Blush30720|Blush30720]] While I appreciate your spirited contributions, the article has become somewhat of a textbook-style guide to using Bash and not an article about Bash and its respective history, accomplishments, and other significance, as Wikipedia guidelines require. Much of the content you are adding is liable to be removed under [[WP:NOTHOW]] so I recommend discussing your strategy here first. [[User:OceanLoop|OceanLoop]] ([[User talk:OceanLoop|talk]]) 02:37, 26 August 2025 (UTC)
== Programming structures 2 ==
Why "Programming structures 2"? What is the distinction between "Programming structures 1" and "Programming structures 2"? Same for Info 1 vs Info 2. — [[User:GhostInTheMachine|GhostInTheMachine]] <sup>[[User talk:GhostInTheMachine|talk to me]]</sup> 08:52, 10 August 2025 (UTC)
:''The TOC structure is based on the parser's order of operations. The explanations in each subsection build from the explantions in the previous subsections, so some newbie can read the full document top to bottom and have 98% of it reasonably make sense.'' [[User:Blush30720|Blush30720]] ([[User talk:Blush30720|talk]]) 02:53, 13 August 2025 (UTC)
== Anchors ==
Is there a reason that almost every section heading has an anchor html tag? Wiki markup has its own way to link to sections, and the current formatting causes clutter and throws up {{CW|85}} errors. [[User:Cardboard Moose|Moose]] ([[User talk:Cardboard Moose|talk]]) 08:46, 28 August 2025 (UTC)
:There seems to be little reason or intention behind most of the revisions to this article; I would remove anything wrong on sight. [[User:OceanLoop|<b style="background-image:linear-gradient(45deg,#268bd2,#6c71c4,#d33682,#dc322f);border:1px solid #fdf6e3;border-radius:1em;font-variant:small-caps;padding:0 1em;color:#fdf6e3;">🌊 oceanloop</b>]] 14:37, 28 August 2025 (UTC)
|