Quali sono le differenze tra / usr / bin / login e / usr / bin / bash?

3

Terminal.app ha un'impostazione per selezionare con la shell che usa, e l'impostazione predefinita è "Default login shell (/ usr / bin / login)".
Quali sono le differenze tra / usr / bin / login e / usr / bin / bash?

    
posta kiamlaluno 13.02.2011 - 21:36
fonte

2 risposte

3

Griffo è corretto. Ora nel tuo scenario, la differenza si riduce a quanto segue:

  1. se scegli /bin/login , allora questo programma controllerà nel database utente qual è la tua shell predefinita ed eseguirà quella shell come shell di login, invocando così i file rc che vengono eseguiti solo quando la shell viene eseguita come login shell (in caso di bash quelli sono /etc/profile , ~/.bash_profile , ~/.bash_login and e ~/.profile .
  2. se scegli /bin/bash , quella shell verrà eseguita come shell di login, indipendentemente da quale shell è impostata nel database utente. Questo può tornare utile quando la shell nel database utente non funziona correttamente, o vuoi essere in grado di usare shell differenti.

Come da commento di pagina Chris , la shell viene eseguita come shell di login in entrambi i casi .

Se non hai cambiato la tua shell di login dal default, che è /bin/bash , e non hai cambiato i file rc di questa shell, la differenza non sarà evidente.

    
risposta data 15.02.2011 - 14:19
fonte
1

/usr/bin/login è un programma utilizzato per accedere al sistema e non è qualcosa che si invoca manualmente in circostanze normali. Dai un'occhiata alle pagine info / man emettendo uno dei seguenti comandi:

info login o man login

/usr/bin/bash è una shell e il suo lavoro è interpretare l'input dall'utente e richiamare i programmi. Puoi anche visualizzare maggiori informazioni su bash usando i comandi seguenti:

info bash o man bash

    
risposta data 13.02.2011 - 21:43
fonte

Leggi altre domande sui tag