49 votos

¿Cuál es la diferencia entre un 'Login' y un 'Interactivo' shell bash

¿Cuál es la diferencia entre un 'Login' y un 'Interactivo' shell bash? He citado de Wikipedia a continuación, pero ¿alguien puede dar una mejor respuesta?

EDIT: Esto es un wiki de la comunidad, así que tal vez en lugar de votar a cerca de que usted podría proporcionar ejemplos de situaciones que llamar para que tipo de $SHELL

Secuencias de comandos de inicio

Cuando Bash se inicia, se ejecuta el los comandos en una variedad de diferentes secuencias de comandos.

Cuando Bash se invoca como un proceso interactivo shell de inicio de sesión, primero lee y ejecuta los comandos desde el archivo /etc/profile, si ese archivo existe. Después de leer el archivo, busca ~/.bash_profile, ~/.bash_login, y ~/.de perfil, en ese orden, y lee y ejecuta los comandos de la primera que existe y es legible.

Cuando un shell de inicio de sesión salidas, Bash lee y ejecuta los comandos desde el archivo ~/.bash_logout, si es que existe.

Cuando un shell interactivo que no es un shell de inicio de sesión se inicia, Bash lee y ejecuta los comandos de ~/.bashrc, si ese archivo existe. Esto puede ser inhibe utilizando la opción --norc opción. El --rcfile opción de archivo de la voluntad de la fuerza Bash para leer y ejecutar comandos de archivo en lugar de ~/.bashrc.

16voto

hayalci Puntos 2651

En su shell de inicio de sesión del perfil de archivos usted puede configurar algunas cosas que usted va a utilizar durante la sesión, y que son necesarios para realizarse sólo una vez. Algunas ideas:

  • crear un archivo temporal que contiene la ip conectado, más tarde se puede incluir en algunos de los scripts de configuración de reglas de firewall.
  • ejecutar ssh-agent, pide tus llaves ssh, y almacenar el ssh agente de variables de entorno en un archivo.
  • si que es limitada la máquina, y sus compañeros de trabajo quieren ser conscientes de cada uno de los otros inicios de sesión, escriba a(1) los mensajes de informar a su inicio de sesión

En un no-shell de inicio de sesión de los archivos (.bashrc) debe configurar su entorno normal.

  • De fantasía en el símbolo del sistema
  • crear alias
  • establecer opciones de historial de
  • definir funciones de shell
  • exportación de variables de entorno, (tal vez BUSCAPERSONAS, EDITOR si todo el sistema de configuración de chupar)
  • carga de ssh-agent varibles guardado en .bash_profile

Por lo general, que incluiría bashrc .bash_profile con el siguiente. Luego shell de inicio de sesión se presenta todas las personalizaciones, y .bash_profile archivo no tiene que duplicar cosas que ya están en .bashrc

[[ -f ~/.bashrc ]] && . ~/.bashrc

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: