Zum Inhalt springen

shellscript


kale_1990

Empfohlene Beiträge

Hi,

Hallo,

mit exit wird das Shellskript geschlossen. Wenn die Konsole geschlossen werden soll dann sollte es mit logout funktionieren.

Frank

es wird eine Shell aufgerufen, wenn ein Skript gestartet wird und diese wird in der Tat geschlossen. Aber das wirkt sich nicht auf die Shell aus, von der das Skript aufgerufen wurden, und daher hat exit keinerlei Einfluss.

Damit das nicht passiert, kann exec benutzt werden:


exec ./skript.sh

Das hat zur Folge, dass keine neue Shell aufgerufen wird, sondern die alte quasi ersetz wird. Dann hat auch "exit" darauf Auswirkung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

weiss zwar gar nicht, wozu das gut sein soll, aber so ohne Weiteres wirds nicht gehen. Mein Spieltrieb hat mich dann aber doch zu diesem Werk geführt:


#!/bin/sh


SHELL=`ps -t "\`tty\`" -o pid`

SHELL=`echo $SHELL | cut -d ' ' -f2`

echo "Und tschuess..."

sleep 2

kill -9 $SHELL

Das ist zwar ziemlich dirty, aber nun gut. Es soll auch sinnlose Dinge geben. ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

shell skript?

tut es nicht auch

set tschüss=/usr/bin/exit

oder wo auch immer exit liegt

Ne, weil exit ein builtin-Kommando der Shell ist. Bekommt man ganz einfach mit man exit heraus.

Der Schlüssel zu dem Ganzen ist, dass du herausfinden musst, auf welcher Konsole du dich befindest. Das bekommst du mit "tty" heraus. Anschließend musst du die PID der Shell bestimmten und diese letzten Endes killen. Wie gesagt, unsauber, aber funktioniert erstmal.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Warum man zu faul ist exit einzugeben kann ich ja verstehen, wenn einem die Zeichen zu viel zu schreiben sind, ich habe deshalb einen Alias e erstellt der einen exit bewirkt; Warum man aber statt 'exit' (4 Buchstaben) 'tschüss' (6 Buchstaben und ein oftmals in der Shell unangenehmes Umlaut) benutzen will ist mir auch nicht ganz klar, aber bitte ;)

Also versuchs mal so - das sollte der einfachste Weg sein:

echo "alias tschüss=\"exit\"" >> ~/.alias && . ~/.alias

Erklärung: Dieser Befehlt bewirkt, dass in der .alias Datei Deines Users am Ende ein Alias tschüss hinzugefügt wird und dieser bootfest nutzbar ist.

Mit . ~/.alias stellst Du diesen Alias Deiner aktuellen Shell zur Verfügung.

Nun sollte sich Dein Terminal mit dem Befehl tschüss beenden lassen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Warum man zu faul ist exit einzugeben kann ich ja verstehen, wenn einem die Zeichen zu viel zu schreiben sind, ich habe deshalb einen Alias e erstellt der einen exit bewirkt; Warum man aber statt 'exit' (4 Buchstaben) 'tschüss' (6 Buchstaben und ein oftmals in der Shell unangenehmes Umlaut) benutzen will ist mir auch nicht ganz klar, aber bitte ;)

ich bin mir nicht ganz sicher, aber ^D würde es ja auch tun, nicht? das hat nicht 6 buchstaben, nicht 4, nein, nur einen - bzw- ist sowieso ein steuerzeichen :)

s'Amsteö

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...