Contributed by grey on from the one less thing to do post-install dept.
CVSROOT: /cvs Module name: src Changes by: deraadt@cvs.openbsd.org 2005/03/27 23:55:11 Modified files: etc : master.passwd Log message: change root login shell to ksh as promised; ok many
The complete log message may be read here.
(Comments are closed)
By scrooge (159.148.213.11) on
Comments
By grey (207.215.223.2) on
Comments
By Anthony Roberts (68.145.103.21) on
$ ls -1i sh ksh rksh
41256 ksh
41256 rksh
41256 sh
They're hardlinks. All three directory entries point to the same inode.
You are also correct that the name the shell is invoked by determines its behavior. Check the man page for sh for specifics.
By Anonymous Coward (65.110.175.66) on
args[0] is a beautiful thing!
Comments
By Anonymous Coward (131.130.1.135) on
By SH (82.182.103.172) on
Comments
By Anonymous Coward (24.127.0.74) on
By Anonymous Coward (192.45.72.26) on
Comments
By Anonymous Coward (65.167.23.134) on
By Ash'aman (62.245.36.23) on
Comments
By xhrl.thomas (24.80.50.50) on
Comments
By Anonymous Coward (213.179.239.104) on
and then
> ^bin^etc
in [t]csh
By Gerardo Santana (168.255.203.144) gerardo.santana at gmail on http://www.openbsd.org.mx/santana/
Why would you want bash?
100% of the people I've talked to asking for bash only wants tab completion and history navigation with arrow keys. These features exist in sh.
Comments
By Anonymous Coward (24.127.0.74) on
Comments
By Gerardo Santana (200.65.129.33) gerardo.santana at gmail on http://www.openbsd.org.mx/santana
Comments
By Anonymous Coward (67.137.34.141) on
By Marc Gayles (168.12.253.66) mgayles@pobox-ready.com on
Comments
By jose (204.181.64.2) --@--.-- on http://monkey.org/~jose/
By Dirk (193.99.145.162) morticah@gmail.com on
Its a real question FMI.
Comments
By Peter Dembinski (217.96.175.71) pdemb@gazeta.pl on http://www.pdemb.prv.pl
By Anonymous Coward (62.175.42.214) on
By kokamomi (217.215.10.111) on
By Anonymous Coward (212.254.223.105) on
By Anonymous Coward (80.135.115.42) on
I DO use bash just for navigating the command history with C-r (incremental reverse search).
And of course, emacs betta then vi.
If I really really need bash as default root shell is another point, though.
Comments
By Otto Moerbeek (213.84.84.111) otto@drijf.net on http://www.drijf.net
Comments
By Anonymous Coward (67.34.129.203) on
By Anthony Roberts (68.145.103.21) on
1. bash is GPL licensed
2. bash is pretty bloated compared to ksh
I actually do prefer bash, but it takes about 5 seconds to install the package, and you can change the root shell if you want it that badly. I don't mind having to actively add bloat when I want it. The rest of the system that I don't care about continues to be the non-bloated alternatives, and that's a Good Thing (tm).
Comments
By Anonymous Coward (80.135.115.42) on
Comments
By Anthony Roberts (68.145.103.21) on
There's a statically linked bash in packages as well, which is what you'd want if you switched the root shell. You'd also want it in /bin.
That said, I've never found a reason good enough to mess with the defaults for root.
By Anonymous Bastard (12.33.195.201) on
i could give a sh1t about what the default shell is though... like others have stated, there is always chsh for those who dont like it.
at the end of the day, it's still a theo-cracy.
Comments
By Nate (65.95.125.49) on
Comments
By Anonymous Bastard (12.33.195.201) on
Comments
By Anonymous Coward (68.121.242.123) on
Comments
By Anthony Roberts (68.145.103.21) on
Comments
By tuhtah (128.131.167.193) on
Comments
By Anonymous Bastard (12.33.195.201) on
Comments
By tuhtah (128.131.167.193) on
By Anonymous Coward (67.137.34.141) on
By Anonymous Coward (67.34.129.203) on
In fact I use wget so much I ended up making an alias:
$ grep wget .profile
alias mirror='wget -t 0 -r -k -np'
wget also makes it easy to exclude certain paths, or automatically convert extensions like .php -> .html so you can browse the local files in Lynx...
mirror -E -X /badpath http://nifty.stuff.here/index.php
There's also another tool called "pavuk" that's even more powerful and can interpret javascript... I've used it in the past, but it's a bit overkill for most things.
By Anonymous Coward (62.175.42.214) on
¿Parsing files for links?
¿Custom referer?
¿Custom user agent info?
¿Cookies?
¿Base URLs?
¿Real background?
¿Speed limiter?
¿Download quota?
By henning (80.86.183.87) on
Comments
By Michael Knudsen (217.157.199.114) on
Don't get me started on long command lines in bash.
It's known as InstaGarble[tm] where I come from.
By Anonymous Coward (142.166.106.226) on
By Chas (147.154.235.53) on http://rhadmin.org
I'm not really sure what is happening with ksh under the new release of OpenBSD 3.7 (is it still pdksh, or did the "ksh source code cleanup" indicate that it's been forked?), but bash does not implement full ksh88 compatibility, let alone ksh93. A few missing features:
The print statement
coprocesses (showstopper)
ksh93 introduces some important features that all the other shells have ignored for far too long:
floating point arithmetic
case fallthroughs (;&)
numeric for loops (aesthetic quality only)
I understand that Apple recently made bash the login shell for internationalization reasons. Bash is still really a bloated and substandard shell, but it scratched Apple's itch so they went with it. OpenBSD is a bit more purist, both from a licensing and code quality standpoint.
Comments
By Otto Moerbeek (213.84.84.111) otto@drijf.net on http://www.drijf.net
We already fixed quite some bugs and added some features in the past, so you could call this it a fork, I guess.
The source code cleanup we did consisted of ansifying all functions and removing a lot of #ifdef'ed crud we don't need, like support for OS/2.
Comments
By Peter Hansen (130.225.45.173) pih@xbase.dk on
Comments
By Alex Hafey (82.69.184.245) alex@hafey.org on
http://www.research.att.com/~gsf/download/tgz/ksh.2005-02-02.openbsd.i386.gz
Linked from http://www.kornshell.com/software/
or if you want source:
http://www.research.att.com/sw/download/
Comments
By Chas (147.154.235.51) on
I posted an article on ksh93 to undeadly some time ago. It was discussed at some length.
By Anonymous Coward (213.179.239.104) on
Why ask? Nearly 99% of users use nearly 5% of bash power, and you can do tab-completion and history in other [quicker,smaller,better] shells too.
By Anthony Roberts (68.145.103.21) on
Comments
By Gerardo Santana (200.65.129.33) gerardo.santana at gmail on http://www.openbsd.org.mx/santana/
By Glenda (82.182.149.44) on http://plan9.bell-labs.com/plan9dist/
Well, at least dropping the csh aberration is a step in the right direction that I hope the other BSDs will follow soon.
Comments
By Anonymous Coward (206.171.8.192) on
Comments
By Anonymous Coward (82.182.149.44) Glenda on http://plan9.bell-labs.com/sys/doc/auth.pdf
That is, getting rid of root, but I was expecting that would take at least another 20 years.
But don't despair, unlike others, at least OpenBSD seems to be going (mostly) in the right direction.
Comments
By Nate (65.95.125.49) on
By Nate (65.95.125.49) on
By Anonymous Shell (68.121.242.123) on
As the newblar I was to UNIX when I tried OpenBSD 2.7, csh definitely kept me from using root for anything on the command line. So, if it wasn't for my dislike towards csh, I would have destroyed the system most likely sooner than later.
I hope the decisions made had technical merit behind them instead of giving in to comfort and whining.
By McLone (213.179.239.104) on
Yes rc is clean and beautifull, but this one particular implementation has flaws (i've seen couple when using http://swtch.com/plan9port/ on FreeBSD RELENG_5, exit status related and other)
Inferno's /dis/sh is interesting too
By Anonymous Coward (141.157.203.182) on
Comments
By Anonymous Coward (202.45.125.5) on
What's wrong with...
???
Comments
By mirabile (82.83.250.19) on http://MirBSD.org/
for foo in $(<file); do
something $foo
done
Of course, that's still bad (but flexible, due to IFS splitting)
because the line length is pretty limited.
I've done the step from csh to ksh after pondering for 1½ years
because csh was historically BSD, but I'm a (pd)ksh addict myself
(don't miss too many features from ksh93).
By Anonymous Coward (141.157.203.182) on
foreach i (`cat 0.txt`)
echo $i
end
Absolutely nothing. Besides, with tcsh, I get all the things I want (tab completion & the csh features). csh can be a pain in the ass, but it is not so evil as most people make it sound.
Cheers!
Comments
By McLone (213.179.239.104) on
By Gerardo Santanaa (200.65.129.33) gerardo.santana at gmail on http://www.openbsd.org.mx/santana/
By Chas (147.154.235.51) on
Comments
By tedu (64.173.147.27) on
By SleighBoy (64.146.180.98) on http://www.code.cx/
By Anonymous Coward (66.159.249.56) on
Comments
By Anonymous Coward (70.16.56.164) on
Comments
By thomasw.xhrl (24.80.50.50) on
By Anonymous Coward (203.24.6.121) on
Your scripts should begin with "#!/bin/whatevershell" which would tell the script which shell to use to interpret it. It doesn't actually matter what your primary shell is.
By Anonymous Coward (69.197.92.181) on
By RC (4.8.16.53) on
Yeah, I want the feature where my shell does nothing at all when I hit tab several times, and gives me no clue as to why (eg. multiple matching files)...
> and its more likely to be compatible with old shellscripts.
This change only has to do with the default root shell for interactive use... Nothing at all to do with scripts.
ksh88 is the standard now, and for good reason. You can still use /bin/csh in your scripts if you want to for some reason, though I suspect there are very few people who script csh anymore.
Comments
By tedu (64.173.147.27) on
you could read the man page and discover set autolist.
By Peter Hessler (208.201.244.164) on
If it matters *that much*, install your favorite. Make sure its staticly linked, and copy it to /bin. Otherwise it won't help you when you *have* to use a root shell (single user mode, with nothing mounted).
Comments
By pgilman (67.83.114.80) on
peter hessler wrote:
"...install your favorite (shell). Make sure it(')s static(al)ly linked, and copy it to /bin. Otherwise it won't help you when you *have* to use a root shell (single user mode, with nothing mounted)."
i've always been curious as to why the binary from the bash-static package gets installed in /usr/local/bin instead of directly into /bin. can anybody enlighten me on this?
thanks!
Comments
By Nate (65.95.125.49) on
By Anthony Roberts (68.145.103.21) on
I don't know if the statically linked bash does that.