Terminalmeldung beim Login anzeigen
Ich möchte so etwas wie anzeigen, ### this is a test ###wenn ein neues Terminalfenster geöffnet ist (und im Idealfall auf eine Weise, die leicht deaktiviert werden kann). Unter Linux war dies unkompliziert. Sie würden ein Skript erstellen, in /etc/profile.d/dem echodie Nachricht beim Öffnen einer neuen Terminalsitzung gesendet wird.
Ich habe mit launchd herumgespielt, um zu versuchen, dies zum Laufen zu bringen, aber ohne Erfolg. Ich habe einen Agenten /Library/LaunchAgents/org.test.greeting.plistmit dem folgenden Code erstellt (wobei die Datei greeting.sh für die Ausführung verantwortlich ist echo), in der Hoffnung, beim Anmelden des Benutzers eine Ausgabe zu erhalten.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.test.greeting</string>
<key>ProgramArguments</key>
<array>
<string>/Users/test/greeting.sh</string>
</array>
<key>RunAtLoad</key><true/>
</dict>
</plist>
Dies hat nicht funktioniert, da die Nachricht für den Äther verloren geht. Ich weiß jedoch, dass der Agent erfolgreich ausgeführt wird. Ich weiß , es ist möglich , die Ausgabe in eine Datei zu umleiten mit StandardErrorPathund StandardOutPathaber die sind mir nicht sinnvoll.
Weiß jemand, wie man das zum Laufen bringt launchd, oder hat er vielleicht eine andere Möglichkeit, dies zu tun?
Antworten
Ich mag die Botschaft des Tages dafür. Wie es die Tradition vorschreibt ...
me@Mac ~ % echo "Welcome to the University of East Westia" > /tmp/motd
me@Mac ~ % sudo mv /tmp/motd /etc
Hinweis: / etc / motd wird nur in einer Login-Shell angezeigt, die für Terminal.app unter macOS typisch ist. Wenn Sie normalerweise nicht angemeldete Shells ausführen, sollten Sie die Anzeige von / etc / motd in Ihren Shell-Punktdateien übernehmen.
Haben Sie versucht, Ihre Punktedateien zu bearbeiten?
Als Referenz habe ~/.zshrcich in meinem ganz oben den Befehl neofetch. Per se ist es nur ein Befehl, den Sie von Ihrer Shell aus ausführen können. Auf diese Weise wird jedes Mal, wenn ich ein neues iTerm2 / Terminal-Fenster oder eine neue Registerkarte starte, der Befehl ausgeführt und angezeigt.
Das Gleiche können Sie tun, indem Sie oben in Ihre Konfigurationsdatei Folgendes schreiben: echo "### this is a test ###"