This is the talk page for discussing improvements to the Bash (Unix shell) article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
Archives: Index, 1, 2Auto-archiving period: 3 months ![]() |
![]() | This article is rated B-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | |||||||||||||||||||||||||||||||||||||||||||
|
Index
|
||
This page has archives. Sections older than 90 days may be automatically archived by ClueBot III when more than 5 sections are present. |
macOS is Unix, and bash is not Unix-like
[edit]I am not a Wikipedia writer, I just want to say that I really do not like the following sentence since it might be misleading: "While bash is considered Unix-like,[14] it's also available on macOS, Windows, BeOS,[15][16] and Haiku.[17]".
The cited FAQ in [14] states that "Bash is a Unix command interpreter", not something like "Unix-like". Also, how should only a terminal resemble a whole UNIX OS?
Also, macOS is the only real Unix (that is also certified to be one), so why should it be unusual for bash running on macOS?
I think I would be more pleased with something like: "While bash was developed with UNIX and UNIX-like operation systems in mind like GNU/Linux or macOS, it is also available on Windows, BeOS, and Haiku." 176.3.11.152 (talk) 21:18, 22 August 2024 (UTC)
- I am glad that there is still someone who tries to explain things to wikipedia that obviously only very few of the wikipedia upper class can or want to understand. Could this have something to do with who donates a lot of money to wikipedia? 91.248.156.3 (talk) 09:40, 25 August 2024 (UTC)
- Well, that makes a bucketful of unuseful & biased assumptions. Perhaps the editor 91.248.156.3 can identify who this
wikipedia upper class
is. Does it include Koavf who has worked asa pizza delivery guy, a bookstore clerk, a computer lab assistant, and a research assistant
? I, myself, who am among the top 1100 editors by edits, have recently retired & get a small pension & Social security. I think that you would be hard pressed to find anyone who is supported financially to do this volunteer work. I suggest that 91.248.156.3 read the policy on original research to know the difference between making stuff up & backing up what one has to write with verification from reliable sources. Perhaps it would be better if the editor at 91.248.156.3 actually became a contributor & learned what it takes to build an encyclopedia rather than taking potshots. Peaceray (talk) 18:01, 26 August 2024 (UTC)
- Well, that makes a bucketful of unuseful & biased assumptions. Perhaps the editor 91.248.156.3 can identify who this
Done I altered the language slightly, so it now reads
While bash was developed for UNIX and UNIX-like operation systems such as GNU/Linux, it's also available on Windows, BeOS, and Haiku.
Peaceray (talk) 17:36, 26 August 2024 (UTC)- Hello, 176.3.11.152 here. I want to thank you for reading and valuing my thoughts.
- I don't want to say much about 91.248.156.3 as this is the wrong place, I just want to say thank you for your work, you do a great job that many don't appreciate. 176.6.49.66 (talk) 09:05, 7 September 2024 (UTC)
Single maintainer for over 30 years
[edit]CC @Blush30720: @Neko-chan:
I think it's worth to mention the fact that only one person maintained bash for over 30 years (as of 2025). All along. Not breaking compatibility even once. Just like in that Xkcd 2347 meme. We have at least two sources on that. Any objections? AXONOV (talk) ⚑ 19:53, 26 April 2025 (UTC)
- @Alexander Davronov I'm not sure why I'm tapped in on this, but if you have good sources, go for it ~ฅ(ↀωↀ=)neko-channyan 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
break
andcontinue
was broken without warning in Bash 4.3. Although the previous behaviour can be reinstated usingshopt -s compat42
, 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. 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 options to invoke compatibilty modes... Including
--posix
. AXONOV (talk) ⚑ 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 Blush30720 (talk) 22:26, 6 July 2025 (UTC)
- Thanks for reaching and pointing that out. I was totally wrong on that. Turns out there is a whole range of options to invoke compatibilty modes... Including
- 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. Blush30720 (talk) 22:24, 6 July 2025 (UTC)
Misleading timeline points
[edit]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
UNIX v6
, 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.
The reference toosh
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. Martin Kealey (talk) 23:16, 18 May 2025 (UTC)
- I suggest we move statements on ASCII to the article about ASCII.
Regarding POSIX: I think we should keep this statement cause it specifies "work" on standard, not standard itself which was published in 1988. AXONOV (talk) ⚑ 09:21, 21 May 2025 (UTC) - yes, there's nearly no history of bash itself in most of these entries. Removing them. MüllerMarcus (talk) 08:40, 7 June 2025 (UTC)
- Memory is fungible. Any anachronisms should be addressed with references to sources. Blush30720 (talk) 23:15, 6 July 2025 (UTC)
Random grab-bag
[edit]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. Martin Kealey (talk) 05:01, 13 June 2025 (UTC)
- It's a story, Martin. 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. Blush30720 (talk) 23:12, 6 July 2025 (UTC)
It's a story
[edit]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? Blush30720 (talk) 22:40, 6 July 2025 (UTC)