Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

hallo

kann ich den befehl "exit" das die konsole geschlossen wird auch in einem shellscript benutzen? ich habs einfach mal probiert und ein script mit nur echo geschrieben aber da passiert leider nichts... :-(

wie funktioniert das, das muss doch irgendwie funktionieren?

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.

ja also ich hab einfach eine datei names "tschüss" in "/usr/bin" angelegt das wenn ich jetz egal wo in der konsole einfach nur "tschüss" eingebe die konsole gschlossen wird....wie kann ich das verwirklichen?

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. ;)

shell skript?

tut es nicht auch

set tschüss=/usr/bin/exit

oder wo auch immer exit liegt

danke mal für das script. kannst du die zeilen noch erklären?

wie funktioniert das mit dem set... einfach in der konsole eingeben oder?

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.

ok danke werde es nach feierabend ausprobieren?

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.

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ö

oooh ooooh...na immerhin sind das zwei Tastendrucke (STRG+D), ne quatsch

hast natürlich recht...aber ich als Grobmotoriker hab es auch schonmal hingebracht STRG+D zu drücken und das zu überhastet bzw. zu oft (2x) und dann war gleich das zweite Terminalfenster auch geschlossen *gg :D

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.