Je sais que j'ai une fois de savoir comment le faire, mais... comment voulez-vous exécuter un script (bash est OK) sur login unix?
Réponses
Trop de publicités?À partir de wikipedia Bash
Lorsque Bash démarre, il exécute les commandes dans une variété de différents les scripts.
Lorsque Bash est invoqué comme un interactive le shell de connexion, il lit d'abord et exécute des commandes à partir du fichier /etc/profile, si ce fichier existe. Après la lecture de ce fichier, il recherche ~/.bash_profile, ~/.bash_login, et ~/.de profil, dans cet ordre, et lit et exécute des commandes à partir de la première celui qui existe et est lisible.
Quand un shell de connexion des sorties, Bash lit et exécute des commandes à partir du fichier ~/.bash_logout, si elle existe.
Quand un shell interactif qui n'est pas un shell de connexion est commencé, Bash lit et exécute des commandes à partir de ~/.bashrc, si ce fichier existe. Cela peut être inhibée par l'aide de la --norc option. L' --rcfile fichier option force Bash de lire et d'exécuter des commandes à partir d' fichier au lieu de ~/.bashrc.
Lors de la connexion, la plupart des coquilles d'exécuter un script de connexion, que vous pouvez utiliser pour exécuter votre script personnalisé. Le script d'ouverture de session, le shell exécute dépend, bien sûr, sur le shell:
- bash: .bash_profile, .bash_login, .profil (vers l'arrière compabitibility)
- sh: .profil
- tcsh et csh: .connexion
- zsh: .zshrc
Vous pouvez probablement trouver ce que shell que vous utilisez en faisant
echo $SHELL
à partir de l'invite.
Lors de l'utilisation de Bash, le premier d' ~/.bash_profile
, ~/.bash_login
et ~/.profile
sera exécuté pour un shell de connexion interactif. Je crois ~/.profile
est généralement dirigés par des shells Unix en plus de Bash. Bash sera exécuté ~/.bashrc
, pour un non-login shell interactif.
En général, je mis tout ce que je veux toujours définie en .bashrc
, puis l'exécuter à partir de .bash_profile
, où j'ai également mis en place un peu de choses qui doivent être exécutés que lorsque je suis connecté, tels que la configuration de l' ssh-agent
ou l'exécution d' screen
.
Le placer dans votre bash profil:
~/.bash_profile