BASH 4.0 Released
An anonymous reader writes "The widely used Bourne-Again Shell (BASH) version 4.0 is out. The new major release fixes several remaining bugs in the 3.x releases, and introduces a bunch of new features. The most notable new features are associative arrays, improvements to the programmable completion functionality, case-modifying word expansions, co-processes, support for the `**' special glob pattern, and additions to the shell syntax and redirections. The shell has been changed to be more rigorous about parsing commands inside command substitutions, fixing one piece of POSIX non-compliance. Most of us will probably wait for the distros to test the new version and upgrade gradually, but you always have the option of grabbing the source and compiling it yourself. Enjoy."
Don't get me wrong, I really like bash, but the treatment of history is abysmal. The default behavior is to lose history due to a race condition when multiple bash sessions that are concurrently open are closed in arbitrary order.
IMNSHO, the default of any process should be to never lose data.
-- The morphemes of your disquisition are ascertainable, but they have eschewed an ambit of transpicuous exposition.
The day Ruby or Python takes over from the boot grub loader for the initialization of init levels in Linux on start up is the day your statement makes sense. Until then, I think people with your attitude love one tool too much. If you don't understand BASH, you don't really understand Linux. I think OS start up is a serious script.
What do you think was used to compile GCC?
If you want your scripts to be compatible with just about every Unix, you still need to stick with /bin/sh (yes, I know, it's a compatibility mode). If you don't, might as well use a better scripting language.
Linux has been ready for the desktop for years. It's just that certain users are not yet ready for Linux.
I don't care why you're posting AC
Do you use bash on a day to day basis?
I love using bash scripting inline, so to speak. The speed that you can get complex things done on the commmand line (and you might be surprised how much you can do with a little ingenuity) is due in no small part to the flexibility of the bash scripting language.
Sure, you could fire up vi (or perhaps nano?) and write a "serious" script to help you get the job done, but my way's quicker.
You feel sleepy. Close your eyes. The opinions stated above are yours. You cannot imagine why you ever felt otherwise.
it would be quite cool if they could set up at least something something resembling homepage.
you know, the thing with announcements, news, and, ooooh, release notes !
wiki probably would be too much to ask.
Rich
Tons of fun for a certain kind of hacker, but not of any interest for people writing serious scripts.
Most serious scripts are (and continue to be) written using /bin/sh. Maybe your definition of serious is something different?
But the scripting community has moved on, and doesn't really care that Bash or Csh now have features that other scripting languages acquired decades ago.
Huh? Some of the new features are welcome for interactive use, and bash is extremely popular in that regard. Feature parity (in a general hand-wavy sense) doesn't exist between bash, csh, zsh, etc., so decades later, the choice of shells remains important, as does continued development.
Personally I use bash (with plenty of Perl one-liners thrown in for good measure), but I'd be misguided to think that bash (or Perl) is available everywhere, or didn't concede that other shells do certain things far better.
You are too kind. In fact, most users are not ready to operate computers. At all.
morcego
One of my favorite bookmarks, Csh Programming is Considered Harmful, is very useful for shell scripting in Bourne, Csh, and Bash. Oh, and it's also a good reminder of why you should never write csh scripts.
In my experience, the only [t]csh users out there are those who used it back in the day before there were other options, or those who are so embedded in the C/C++ world that they thought it a good idea to use a C/C++ -styled shell. That's fine, use that shell. DON'T write scripts in it though. It's annoying. (More annoying: ln -s /bin/csh /bin/sh ... this breaks TONS of things as /bin/sh must be posix-compliant. Csh doesn't even want (or try) to do that!)
Use my userscript to add story images to Slashdot. There's no going back.
You're an idiot.
The shell is my file manager, and my entire dev toolchain works from the shell. Shell scripting is better suited to linking together unix commands that pipe text between one another. I don't particularly want any scripting interpreters other than bash and awk to be _required_ on my systems. I like lua and javascript, some folk prefer perl, python or ruby but nobody is getting very far on a unix-like system without /bin/sh and the de-facto standard for that is bash.
Yes, I am complaining about the default behavior.
How about if we made the default for mv to delete blocks as they were copied and not wait to delete to original until a full copy was made. This would be 'good' (more efficient) most of the time and break in strange corner cases, losing the users data (not a good thing^TM).
The default behavior should *NOT lose data*. To do so is bad UI design.
-- The morphemes of your disquisition are ascertainable, but they have eschewed an ambit of transpicuous exposition.
Most people don't need to operate computers directly. But a lot of people uses them more or less indirectly, for example, when driving a modern car, or when redacting a letter in MS Word. The idea is that people should never have to be ready for (nor aware of) any OS at all.
a richer bourne-shell and ksh-based programming language
Interesting. Whenever I needed to write programs beyond what POSIX sh could handle, I just eschewed shell entirely and went up to Perl/Python/Ruby. Still even more powerful, and installed on far more boxes.
bash, ksh, zsh, etc. are still better for interactive use, but salivating over their programming features is really missing the forest for the trees, in my opinion.
...MOST users.
To be fair, most users have trouble setting the clock on a VCR.
It's gotten a lot better, but there are still gaps that need to be filled in.
Today, I had to enable printer sharing (via Samba for Windows clients) on my parents' computer, which is running Ubuntu.
Although the majority of the desktop is very well-integrated, the process for doing this was *extremely* non-obvious.
-- If you try to fail and succeed, which have you done? - Uli's moose
Somebody needs to learn the difference between primary and secondary memory. Hint: drives *are* memory.
But yeah, most people are right that it's memory, but not for the reasons they think they are.
He has a garage, fixes cars. He LOVES people that don't think they need to operate their car. Some lovely person puts petrol in the company van, ah christmas come early! Oil light been on since "Oh I just ignore that as the car starts fine with it on", we will eat tonight!
The simple fact is that we got to know a lot of stuff and if we don't we pay other people a LOT of money for knowing their stuff. 175 euro for 15 minutes work unglogging a toilet because some female doesn't know you can't put femine hygiene products down the toilet.
50 euro to run a set of automated tools on your PC to clean it, total labor involved, inserting a USB stick, you got to bring the PC in, during quiet hours and pick it up yourself, no warranty.
My neighbour changed his the nature of his small construction firm, he no longer does projects for clients, he assists DIY'ers with theirs. To translate, he charges a FORTUNE to fix the mess they made and has their free labor to help out with simple but expensive to hire a pro for tasks.
Everytime somebody like you defends people not having to know the tools they use, somebody somewhere sees dollar signs.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.