Switching from bash
Getting used to
tcsh is one of the hardest things to do, when coming from Linux, where
bash is the default login shell. It's not necessarily evil to switch your login shell to
bash, which is a very decent shell (it's hard to do without functions, which make
bash more suitable for scripting than
tcsh). We're only warned to be aware that if you switch
bash, you might find a few gotchas. Without being religious about it, although accustomed to
bash, you might decide that since FreeBSD is oriented toward
tcsh you'll give it a try. Of course, since this shell is new to you, you read the manual and you do most of your experimenting as a non-root user.
But after you get started, you run into more dissimilarities than you expected. So many things that made the command line faster and simpler than clicking icons in X now seem to be missing.
- One thing that irks you is that your system scripts are written in a different language than the commandline -
shas opposed to
tcsh, so that you can't just lift expressions out of a script and paste them into the commandline to run them, or visa versa.
- You press TAB and nothing happens.
- You are looking to repeat a command that matches an expression somewhere after the beginning of the line.
tcshhas no equivalent to function
- Pattern matching doesn't always work as you expected.
- You have to type "rehash" after you install a new program.
- You type login -f user as root, and you're told:
login: Too many arguments.
The list of differences grows longer, so your start is rough and you have to refer to the man page more often than you expected. You're thinking of giving up, and sticking with what you know better:
bash. How do you overcome these differences? What keeps you using
tcsh? I think there's a great article in that. What do you think? Does it belong in this one, or a separate article? Ninereasons 13:53, 9 June 2006 (EDT)