Vermeiden der Eingabeaufforderung [Vorgang abgeschlossen], nachdem das Terminal-Skript unter Mac OS X beendet wurde


32

In meinem Texteditor habe ich eine Tastenkombination zum Bereitstellen des Codes durch Aufrufen eines Befehls wie folgt festgelegt

/usr/bin/open /Users/blahblah/run_deploy

Das Bereitstellungsskript lädt meinen Code auf meinen Server usw. hoch. Ich verwende "open", damit ich die Ausgabe in einem neuen Terminalfenster sehen kann, falls Fehler auftreten. Sehr praktisch, aber am Ende wird das Terminalfenster mit dem Text "[Vorgang abgeschlossen]" geöffnet.

Gibt es eine Möglichkeit, dies zu überspringen und stattdessen das Fenster automatisch zu schließen?

Terminalprozess abgeschlossen


1
Geben Sie an, dass Sie Terminal so eingestellt haben, dass das Fenster geschlossen wird, wenn die Shell beendet wird. Das klingt nach einem Terminal-Problem. Haben Sie versucht, die com.apple.Terminal.plistEinstellungsdatei aus Ihrem Einstellungsordner zu löschen und erneut festzulegen?
Chealion

Hast du immer noch dieses Problem?
Daniel Beck

Antworten:


49

Im Terminal - Einstellungen , in Profile Wählen Sie das Profil Fensterbereich Sie verwenden (sollte sagen , „default“ unter seinem Namen), wählen Sie Unterbereich Shell und Veränderung « Wenn die Shell beendet: » «zu schließen , wenn die Schale sauber verlassen ».

Die [Process completed]Meldung wird nicht ausgeblendet , das Fenster wird jedoch geschlossen, wenn der Beendigungscode erfolgreich war.


Aus irgendeinem Grund kann ich die Einstellungen in diesem Terminalfenster nicht ändern. Wenn ich sie in einem anderen Terminalfenster ändere und als Standard verwende, werden sie im neuen Terminalfenster immer noch nicht verwendet. So sieht das neue Terminalfenster aus: i.imgur.com/u3tk4.png
Bemmu

Um das Testen zu beschleunigen, führen Sie zunächst Folgendes aus: echo 'say hello' > test; chmod +x test(Es wird eine ausführbare Datei erstellt, die Hallo sagt.) open testWenn Sie sie im Finder ausführen oder darauf doppelklicken, wird sie standardmäßig mit Terminal ausgeführt. In Ihrem Screenshot ist keines der Schemata ausgewählt (ich weiß nicht, wie, ich kann nicht alle abwählen). Wählen Sie daher Basic, da es als "Standard" markiert ist, und legen Sie die Schließeinstellung fest. Führen Sie dann das Skript aus.
TIG

Danke, aber das hat auch nicht funktioniert: i.imgur.com/cCo49.png
Bemmu

Welche OS-Version verwenden Sie (weiß nicht, ob es verwandt werden kann, ich verwende 10.6.4)? Vielleicht liegt das an ungelesenen Mails? Versuchen Sie es mit mailzu lesen. Vielleicht stimmt etwas mit dem Ausloggen nicht? Haben Sie ~/.bash_logoutDatei, wenn ja, was ist drin? Versuchen Sie es mit "Ausführen" bash -c exit && echo 'ok'- Sie sollten "OK" sehen, versuchen Sie es auch einfach exitmit einer neuen Shell - das Fenster sollte geschlossen werden. Verwenden Sie Fenstergruppen? i.imgur.com/thPNV.png
tig

1
Könnten Sie einen "killall Terminal" -Befehl am Ende Ihres Skripts einfügen oder so? Ich weiß, dass das Fenster auf jeden Fall geschlossen wird, aber Sie können zumindest beobachten, was während der Ausführung des Skripts vor sich geht (und Sie können die Ausgabe auch in ein Protokoll verschieben, nur für den Fall).
jrc03c

0

Das Reparieren von Berechtigungen über die Disk utilityApp löste das Problem für mich.

Ich habe immer wieder den Fehler in der ConsoleApp gesehen:

20/08/2015 01:17:42.318 login[3291]: in pam_sm_open_session(): Unable to write the utmp record.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.