ubuntuusers.de

Terminal automatisch schliessen nachdem ein script getsartet wird.

Status: Gelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

ubuntu--anfaenger

Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1223

Wohnort: Belgien

Moin, Gibt es eine Möglichkeit, nachdem über ein Terminal, ein script gestartet wurde, das Terminal(nicht das wo das script drinn läuft, sondern das Aufrufer Terminal) automatisch nachdem das script gestartet wurde zu schliessen?

zb:

./mein_script.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/bin/bash


echo tue etwas &

sleep 2

disown

exit

Ich würde nun gern, das sich das Terminal wo ich dieses script aufrufe automatisch schliesst, geht das überhaupt?

lg,

Bearbeitet von rklm:

Syntaxhighlighting. Bitte beachte Forum/Syntax und nutze die Vorschaufunktion!

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55263

Wohnort: Berlin

./mein_script.sh && exit 

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13152

tomtomtom schrieb:

./mein_script.sh && exit 

Oder, noch bedingungsloser,

1
$ ./mein_script.sh; exit

ubuntu--anfaenger

(Themenstarter)
Avatar von ubuntu--anfaenger

Anmeldungsdatum:
12. Oktober 2013

Beiträge: 1223

Wohnort: Belgien

tomtomtom schrieb:

./mein_script.sh && exit

danke

Oh mann sorry, für die Dumme Frage ☹

lg,

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17597

Wohnort: Berlin

Oder Du sourcst es, was mit subtilen Unterschieden verbunden ist:

1
2
3
. ./mein_script.sh 
# alternativ: 
source ./mein_script.sh 

Der Effekt ist, dass das Script in die laufende Shell inkludiert wird und damit Zugriff auf die aktuellen Shellvariablen, -funktionen und -aliase hat.

Das kann erwünscht oder unerwünscht sein aber wird in den meisten Fällen unerheblich sein.

Das Exit am Ende des Scripts beendet damit die aufrufende Shell und damit ein evtl. laufendes, grafisches Terminalfenster.

In allen Fällen (rkml, ttt) wird das sleep 2, selbst wenn es ein sleep 2000 ist, abgewartet, aber je nach dem, wie Du mein_script.sh umbaust, kann das aufgerufene Script weiterlaufen, obwohl das Aufrufende sich schon verabschiedet hat. Beim Sourcen allerdings nicht, weil ja nur ein Skript läuft. Die Kombination sleep/disown riecht aber so, als ob es in die Richtung gehen soll.

Antworten |