Is TCSH in linux weak?

hi,

We are moving our machine from HP to linux.

On HP we had tcsh shell and was working fine for us and we are used to it.

But on linux, we are told tcsh doesnt work properly.

Is this true ...if so should moving to BASH a better option ...

Any comment or suggestion is appreciated

I'm not a tcsh expert but I don't think so.
It doesn't matter what OS you are using , tcsh is just another shell regardless the OS.
Implementation of tcsh may differ slightly between OSes and platforms, But it doesn't affect the core functionality
Also keep in mind that tsch is an enhanced version of C shell.

.if so should moving to BASH a better option ...

If this is an option just move to Bash. Csh Programming Considered Harmful.

tcsh is tcsh. It is the same on Linux as on HP-UX. If you have a significant investment in scripts written for tcsh, then simply continue to use tcsh on Linux.

If you are going to move shells, move to a modern shell such as ksh93 rather than the extremely limited bash shell.

Just FYI, I am concerned more about the interactive commands not scripts ...

tcsh isn't installed on linux by default. It's optional.

Beyond that, it's not "weak", except in the ways tcsh has always been "weak" -- buggy, unfixably flawed(Bill Joy later confessed he "wasn't very good at programming" when he designed the csh), and a poor programming language in general.

Bourne shell in general would be a better option. You don't have to program for BASH, it's possible to make bourne scripts that'll work in many places.

---------- Post updated at 10:05 AM ---------- Previous update was at 10:02 AM ----------

What interactive things are you worried about, exactly?

BASH has easy command-editing(left-right arrows and delete do what you expect), a decent command history accessible with up/down/pgup/pgdn keys, tab completion, aliases...

BASH aliases work a little differently than tcsh ones. You can't have parameters in the middle of them. BASH functions are a better replacement if you need that complex kind of arrangement:

function asdf
{
        echo a $1 b $2 c
}

# This would echo a x b y
asdf x y

By interactive i meant ... history command,aliases (as u mentioned) ... i have faced this issue in tcsh (not sure if its issue with tcsh or some setting which we have) ... i am not able to redirect error use 2> in tcsh ...

My first question was answered " is tcsh different in Linux " and as i understand from the answere given ...tcsh is shell and same everywhere ....

Second part is in HP we are using tcsh ... so if we all are used to using tcsh..is it worth moving to bash ... which i understand is a better shell ...

Sometimes its better to have a change, and moving from one OS to another would seem the perfect oppourtunity, however saying that, chaning to a different shell means there will be different syntax to commands and may make people make mistakes which could cause problems.

Similarly certain scripts might run under the tcsh shell which wont work with bash and you wont find out until you run them and it may cause harm to your server depending on what the script does. (worst case scenario)

I would suggest you try a test user on a test server using a new shell to see if there are any adverse effects when running day to day admin activities, if it works ok then its up to you to choose to stick with tcsh or try a new shell which may provide new functionality and make admin activities easy.

includes file name completeion, history command editing, file name colouring to distinguish between files directories links etc.

It's not that some tcsh scripts might not work in bash... it's that they definitely won't. They're not the same language. Even tcsh statements which bash doesn't complain about probably won't do what you expect since the language constructs are very different.