Ich möchte ein Skript erstellen, das ausgeführt wird, wenn eine Zsh-Instanz gestartet wird, aber nur, wenn die Instanz:
- Nicht anmelden.
- Interaktiv
Ich glaube, ich kann zu Recht sagen, dass .zshrc
Läufe für alle interaktiven Shell-Instanzen .zprofile
und .zlogin
für alle Login-Shells ausgeführt werden und .zshenv
in allen Fällen ausgeführt werden.
Der Grund, warum ich dies tun möchte, besteht darin, zu überprüfen, ob ein vorhandener ssh-Agent ausgeführt wird, und ihn in der neu geöffneten Shell zu verwenden, falls vorhanden.
Ich kann mir vorstellen, dass alle durchgeführten Tests am besten platziert werden .zshrc
(da dies eine interaktive Shell garantiert) und das von dort aufgerufene Skript "Nicht-Anmeldeereignis" aufgerufen wird.
Ich möchte wahrscheinlich zuerst überprüfen, ob die neue Shell bereits als Teil einer vorhandenen Remote-SSH-Sitzung ausgeführt wird, bevor ich auf den ssh-Agenten teste, aber ich habe dieses SE-Rezept für diesen Zweck gefunden.
Ich wähle Zsh, da es die Schale ist, die ich bevorzuge, aber ich stelle mir vor, dass jede richtige Technik, um dies zu tun, ähnlich auf andere Schalen angewendet wird.
-o
Optionen bemerkt , aber ich dachte, sie wären Optionen, die so eingestellt werden konnten, dass sie die Standardeinstellungen überschreiben, dh das Verhalten erzwingen , anstatt die tatsächliche Situation abzufragen. Liege ich falsch?