Ich versuche, ein Bash-Shell-Skript in der Linux-Distribution Ubuntu 11.10 zu schreiben, das beim Anmelden am System automatisch ausgeführt wird. Aber ich bin nicht in der Lage herauszufinden, was in ein Skript zu schreiben ist, das dadurch beim Anmelden automatisch ausgeführt wird.
ubuntu
shell-script
login
profile
dubex
quelle
quelle
.sh
wenn Sie Ihr Skript in setzen/etc/profile.d/
.chmode +x /etc/profile.d/myscript.sh
natürlich auch./usr/local/bin/pihole -c
Befehl für die automatische Anmeldung eines bestimmten Benutzers auszuführen . Diese Zeile wurde hinzugefügt zu/home/$USER/.profile
- nichts passiert. Wenn ich ein Skript hinzufüge,/etc/profile.d
funktioniert es, aber es ist global und wird ausgeführt, selbst wenn ich eine SSH-Sitzung öffne (was nicht das ist, was ich will). Das Hinzufügen zu.bashrc
funktioniert auch, wird aber jedes Mal ausgeführt, wenn ich eine neue Shell öffne (was nicht das ist, was ich will). Frage: Warum würde das Hinzufügen zu/home/$USER/.profile
nicht funktionieren ???Fügen Sie einfach das Bash-Skript zu den Startanwendungen hinzu.
Geben Sie im Befehlsfeld ein
quelle
Wenn Sie bashspezifischer sein möchten, können Sie Ihren Code auch in ~ / .bash_profile oder ~ / .bash_login schreiben.
Und Sie können jedes Skript darin zum Beispiel beziehen:
quelle
/etc/profile
oder$HOME/.profile
oder$HOME/.bash_profile
Ich würde dringend empfehlen, nicht zu verwenden,
/etc/profile.d/yourscript.sh
wenn es Ausgabe erzeugt. Wenn Sie eine nicht interaktive Sitzung verwenden, erhalten Sie eine$TERM is not set
Nachricht. Dies macht sich bei Verwendung des ssh-Protokolls wie scp bemerkbar. Normalerweise keine große Sache, aber Veeam mag es nicht und wird eine Warnung auslösen. Ich weiß, dass Veeam hier nicht das Thema ist, aber es ist erwähnenswert, dass nicht alle Anwendungen die$TERM is not set
Warnung ordnungsgemäß ignorieren .Kurz gesagt, wenn das Skript eine Ausgabe generiert, platzieren Sie diese an den in der ersten Zeile angegebenen Stellen. Wenn Sie jedoch die Umgebung ändern und Ihr Skript keine Ausgabe generiert, verwenden Sie Letzteres.
quelle