2016-06-03 10 views

Antwort

4

Bash hat zwei Dateien, aus der Sicht der Nutzer erstellen, die „Setup“, wenn es gestartet wird, durchführen:

  • .bash_profile - Diese Datei wird ausgeführt, wenn Sie eine interaktive Login-Shell öffnen. Diese Datei kann in bestimmten Distributionen oder Konfigurationen auch den Namen .profile haben. .profile wird normalerweise für nicht-Bash-spezifische Konfigurationselemente verwendet. Seien Sie sich auch bewusst, dass .bash_login, .bash_profile verhindert, dass diese Datei verwendet wird, obwohl es ansonsten äquivalent ist. .bash_profile ist Standard.
  • .bashrc - Diese Datei wird für alle anderen Bash-Instanzen ausgeführt. Beachten Sie, dass es üblich ist, dass Personen .bashrc von .bash_profile anrufen, um Konsistenz zu schaffen.

Beim Anmelden wird eine Login-Shell generiert. via SSH, Telnet, an einer Konsole, etc. Sie können auch dazu zwingen, den Start einer Login-Shell (Forcierung Bash_profile) durch Starten einer Shell unter su wie so verarbeitet werden:

su - username 

Hier zeigt der Bindestrich das sollte als Login-Shell verarbeitet werden.

Keine von beiden scheint jedoch die richtige Antwort für Ihre Frage zu sein, es sei denn, Sie sind sicher, dass Sie sich einmal am Tag und nur einmal am Tag anmelden.

Ein besserer Ansatz in Ihrem Fall wäre die Verwendung der cron. Mit Crontab können Sie Jobs so planen, dass sie in jedem gewünschten Intervall ausgeführt werden können. Für die tägliche Ausführung, würden Sie wahrscheinlich eine Zeile wie so konfiguriert werden sollen:

0 5 * * *    /home/user/script 

Dies würde die Benutzer-Skript verursacht jeden Tag um 05.00 Uhr auszuführen. Die Spalten sind:

0 5 * * * 
^^^^^------ Day of week 
^^^ ^-------- Month of year 
^^^---------- Day of month 
^ ^------------ Hour of day 
^-------------- Minute of hour 

Jedes dieser Felder kann auch eine durch Kommas getrennte Liste oder sogar einen arithmetischen Ausdruck darstellen. Im folgenden Beispiel wird das Skript viermal während der 5-Uhr-Stunde ausgeführt:

+0

Beachten Sie, dass abhängig von der Bash-Implementierung Ihrer Distribution die Datei bash_profile nur als "Profil" bezeichnet werden kann. –

+0

Guter Punkt @JustinE –

+0

Sie können Ihre bashrc-Datei auch "quellen", indem Sie Folgendes eingeben: '. ~/.bash_profile' oder 'source ~ /.bash_profile', um die Datei zu "aktivieren". –

4

Wenn das Skript nur beim Öffnen des Shell-Terminals ausgeführt werden soll, fügen Sie es zur Datei ~/.bashrc, /etc/bash.bashrc oder /etc/bashrc hinzu. Dies wird immer dann ausgeführt, wenn eine interaktive Nicht-Login-Shell gestartet wird.

Wenn Sie es täglich auszuführen, einen Cron für sie in /etc/crontab oder crontab -e

+0

@andlrc korrigiert. Danke –

+2

Beachten Sie, dass es anders ist, es in '~' oder in '/ etc' hinzuzufügen. Ersteres bezieht sich nur auf den Benutzer '~' bezieht sich auf, während '/ etc' auf alle Benutzer zutrifft. – fedorqui

Verwandte Themen