Como podemos configurar caminhos para .cshrc

1

Dentro de um script de shell, eu estou tentando abrir um novo shell tcsh e carregar alguns conjuntos de aliases pré-definidos e variáveis env que eu não quero ter no padrão cshrc. Eu não posso tê-lo na minha home dir, como este script vai ser usado por vários usuários. Quais são os caminhos que o tcsh irá procurar pelo arquivo cshrc quando um novo xterm ou shell é criado? É configurável através de alguma variável env?

    
por SAN 11.12.2014 / 07:06

1 resposta

1

Na página de manual :

A login shell begins by executing commands from the system files /etc/csh.cshrc and /etc/csh.login. It then executes commands from files in the user's home directory: first ~/.tcshrc (+) or, if ~/.tcshrc is not found, ~/.cshrc, then ~/.history (or the value of the histfile shell variable), then ~/.login, and finally ~/.cshdirs (or the value of the dirsfile shell variable) (+). The shell may read /etc/csh.login before instead of after /etc/csh.cshrc, and ~/.login before instead of after ~/.tcshrc or ~/.cshrc and ~/.history, if so compiled; see the version shell variable. (+)

Não há argumento da variável de ambiente para alterar isso, exceto por -f para evitar o carregamento de um arquivo de inicialização.

Você pode usar o comando source para carregar um arquivo de tcsh , embora:

source /etc/my-special-settings.tcsh

Você também pode fazer algo assim em ~/.tcshrc :

do usuário
if ( $?SPECIAL_SETTINGS ) then
    source /etc/my-special-settings.tcsh
else
    source ~/.tcsh/tcshrc
endif
    
por 11.12.2014 / 09:02