During my login to my Linux environment via ssh the .cshrc file in my home directory is not read. Each time I had to read this file after login via source ~/.cshrc

I use MobaXTerm Professional 10.5 as a tool and my shell is a tcsh shell which I can confirm via

echo $SHELL

I already tried to add files like .login and .tcshrc to source the .cshrc file, but nothing helped.

How can I enable reading the .cshrc file via ssh login?

2 Answers 2


There are multiple files parsed by this shell:


The two firsts are system wide. The tree others are user related.

Maybe there is something wrong in your syntaxe. Try a simple file ~/.tcshrc containing:

echo "test"

It should output "test" before the prompt like this:

workstation:~ user$ cat ~/.tcshrc 
echo "test"
workstation:~ user$ /bin/tcsh 
[workstation:~] user%

Same output on remote with the following command: ssh -t user@workstation tcsh

  • 1
    And of the three user related files, .tcshrc is only read if it exists, and .cshrc is only read if it exists and .tcshrc does not. .login is only read on login shells. Commented Jan 23, 2018 at 19:35

Make sure csh is actually running!

Run which csh to get location of csh.

Run ls -l /path/returned/by/which/csh

In my case, somehow csh was mapped to tcsh.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .