On Sun, Aug 27, 2006 at 11:22:13AM +0200, Martin Toft wrote:
> Sam Chill wrote:
> >ksh does most everything bash does too, so it doesn't seem like a loss.
> 
> FWIW, I miss a couple of features in ksh and consider to switch (back) 
> to bash:
> 
> - When using tab completion, and you press tab two times to get a list 
> of possibilities, ksh doesn't use less/more to present the possibilities 
> (i.e. they just scroll by and I have to use shift+page-up).
>
> - When writing long commands, bash uses multiple lines to let me see the 
> whole command, whereas ksh "scrolls" the line horizontally, only showing 
> me a part of the command at a time. This is of course a matter of taste, 
> but I like the method of bash.


These are features of readline, which bash uses.  You can toggle them on
and off in your ~/.inputrc file.  I tend to prefer pdksh and usually
configure readline to mimic it when I have to use bash.

  set page-completions off
  set horizontal-scroll-mode on


One feature that is very annoying with bash is how it handles $BASH_ENV
and $ENV.  Some of bash's behavior appears to be specified at compile
time, and I don't think I have ever seen two systems with bash compiled
the same way.  You usually find something like this snippet in the
default installed .profile (or .bash_profile) on linux systems:

  if [ -f ~/.bashrc ] ; then
    . ~/.bashrc
  fi

What is annoying about this is that .bashrc isn't read everytime a shell
is started, only at login.  So, some other programs may need extra hacks
to read your environment file correctly (ie.  setting XTerm*loginShell
to true).

I find this so much more simple and it always works consistently for
pdksh.

  export ENV=~/.kshrc

I don't have to do funny tricks in various programs to simulate a login
shell.  I can use su to change privileges and keep my environment much
more conveniently.  For bash, you have to figure out how it was compiled
first.  No thanks.

Reply via email to