Wie kann ich ein Shellskript ohne Beenden ausführen? (Mac OS X)

4566
Eonil

Ich mache ein Verknüpfungssymbol in meinem Dock, das ein Terminalfenster mit vorkonfigurierten Umgebungsvariablen öffnet. Ich habe ein Skript erstellt und es in mein Dock gezogen. Es läuft gut, wird jedoch sofort beendet, wenn es abgeschlossen ist. Ich möchte die Konsolenarbeit mit vorkonfigurierten Variablen starten. Wie kann ich veranlassen, dass es nach Abschluss der Skriptausführung nicht beendet wird?

2
Könntest du dein Skript zeigen? Die offensichtlichen Möglichkeiten, die ich versucht habe, das Terminal laufen zu lassen. geekosaur vor 13 Jahren 0
@geekosaur Der Benutzer verwendet wahrscheinlich eine ausführbare `.command`- oder` .tool`-Datei. Das Öffnen einer solchen Datei wird in einen Terminalbefehl der Form `/path/to/filename.command übersetzt. Ausfahrt; `. Daniel Beck vor 13 Jahren 0

1 Antwort auf die Frage

3
Drooling_Sheep

Du kannst Geben

read -p "Press Return to Close..."

als letzte Zeile des Skripts. Das wird so lange weitergehen, bis Sie die Eingabetaste drücken.

Re: Ihre Bearbeitung

Wenn Sie bashdie letzte Zeile des Skripts aufrufen (oder die von Ihnen verwendete Shell), sollte sie (wie bei mir unter Linux) mit einer Eingabeaufforderung geöffnet bleiben.

Oh, es tut mir leid für meine Frage war unklar. Ich wollte an diesem Punkt mit der Konsolenarbeit beginnen. Eonil vor 13 Jahren 1
@Eonil, ich habe meine Antwort bearbeitet. Geht das für dich? Drooling_Sheep vor 13 Jahren 0
Es funktioniert, aber es startet eine neue Shell, anstatt die geöffnete Shell zu behalten. Vorkonfigurierte Umgebungsvariablen werden nicht mehr angezeigt. Eonil vor 13 Jahren 0
@Eonil Ich habe es mit `export FOO =" Hello World "getestet; bash als Skript, dann tippte 'echo $ FOO' und es zeigte sich. Alternativ können Sie ein bash-Skript ad-hoc in Ihrem Skript erstellen und es als `bash --init-file 'verwenden, um Ihre Umgebung zu definieren. Daniel Beck vor 13 Jahren 0