cshrc ejecuta bashrc dentro de sí mismo?

Mi escuela tiene nuestras counts de Linux usando csh / tcsh por defecto. Yo, sin embargo, tengo mucha configuration en mi hogar y me gustaría usar eso en la escuela. PERO también hay algunas cosas importantes que suceden en nuestro cshrc, así que me gustaría no cambiar mi shell en cada inicio de session. ¿Hay alguna manera de llamar o ejecutar mi bashrc dentro de mi cshrc y get los mismos efectos o debo averiguar cómo traducir mi bashrc en cshrc? No sé si esto es una locura. Solo estoy acostumbrado a bashrc personalmente.

¡Gracias por cualquier ayuda!

Editar: He decidido traducir mi cshrc a un bashrc para poder usar bash … Ick Csh: ¿alguien ha contribuido a traducir esto?

Mi cshrc estoy buscando para trabajar probablemente más tarde hoy:

set defaultsdir=~defaults # source ${defaultsdir}/linuxpaths source ${HOME}/linuxpaths # # add your custom shell commands here # # see 'man tcsh' for more info if ( $?prompt ) then set autoexpand set autolist set cdpath = ( ~ ) set pushdtohome set savehist=10000 set histfile=~/.history # Load aliases from ~/.alias if ( -e ~/.alias ) source ~/.alias endif 

¿Qué tal anexar exec bash al final de tu .cshrc ?

Sin embargo, tenga en count que esto no es completamente libre de riesgos, por lo que es posible que desee hacerlo en una window / session mientras testing los resultados en otra, por lo que tiene la posibilidad de revertirlo. (O tenga un administrador del sitio cerca).

La mayor parte de ese .cshrc incluye files externos (el command de source ) que también tendrá que traducir. La sección if ( $?prompt ) se ejecuta solo en shells interactivos; no tienes que preocuparte por eso en bash. Algunos de los commands set están configurando opciones de shell que no tienen equivalentes exactos; es posible que desee ajustar la configuration de finalización de bash. Las pocas líneas que importan son:

 set defaultsdir=~defaults defaultsdir=~defaults source ${HOME}/linuxpaths . ~/linuxpaths.sh set savehist=10000 HISTSIZE=10000; HISTFILESIZE=$HISTSIZE if ( -e ~/.alias ) source ~/.alias . ~/.alias.sh 

No hay ninguna razón por la que cambiaría su ~/.cshrc , pero es posible que desee cambiar su ~/.login para que los inicios de session de modo de text lo ~/.login a bash, o incluso zsh si está disponible. Use esto al final de ~/.login :

 if ($?prompt != 0) then which bash >/dev/null >&/dev/null if ($status == 0) then setenv SHELL bash exec bash --login fi endif 

Los files .cshrc y .bashrc están escritos en el idioma del propio shell y los dos idiomas no son compatibles. Además, las cosas que normalmente se ponen en estos files son commands que afectan el comportamiento de inicio del shell, por lo que ejecutar un shell del otro solo ayudará en un grado limitado.

.cshrc que traducir uno de los files a la otra syntax si desea funciones tanto del sitio .cshrc como de su hogar .bashrc .

Si prefiere convertir el sitio .cshrc para que funcione en Bash en lugar de hacerlo a la inversa, puede cambiar el shell de forma permanente en esa máquina con este command:

 % chsh -s /bin/bash 

La otra opción es traducir su .bashrc inicio a syntax de shell C y agregarlo al file .cshrc . No recomendaría esto ya que la Progtwigción Csh [es] Considerada Dañina . 🙂