script starten und beenden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
latenite
Beiträge: 688
Registriert: 14.05.2007 01:04:23

script starten und beenden

Beitrag von latenite » 18.07.2007 16:08:57

hi leute

ich bin recht neu auf dem gebiet des script schreibens. soeben habe ich mir eins geschrieben das mich in mein wlan einwählt mit den ganzen angaben für iwconfig. funktioniert auch prima.

frage:

wie kann ich das terminal fenster nach ablauf des scriptes automatisch wieder schliessen??
und wie kann ich es automatisch nach dem hochfahren starten lassen..da war irgendwas mit init..oder so??
wie kann ich aus einem laufendem script ein neues script in neuem terminal fenster starten in dem dann was ganz anders läuft?

sorry wenn die fragen zu laienhaft sind... :roll:

latenite
Beiträge: 688
Registriert: 14.05.2007 01:04:23

noch ne frage

Beitrag von latenite » 18.07.2007 16:13:49

wie kann ich scripte in anderen ordnern ausführbar machen. mir wäre es nämlich lieb wenn ich nen /bin/meinescripte/ odner hätte in dem all meine eigenen scripte liegen. nur kann ich sie von da nicht ausführen?? warum??

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 18.07.2007 16:21:21

Die Script müssen die passenden Rechte haben, bei "ls -la /bin/meinescripte/*" muss ein "rx" für den User bzw. die Gruppe oder für alle gesetzt sein, modifizieren kannst Du das mit dem Befehl "chmod", beispielsweise "chmod 755 /bin/meinescripte/mein-tolles-script.sh". Mehr man mit "man chmod".

Bzgl. Deiner ersten Frage: was genau machst Du wann? xterm (oder konsole und Co.) starten und dann dort Dein Script starten?

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

latenite
Beiträge: 688
Registriert: 14.05.2007 01:04:23

Beitrag von latenite » 18.07.2007 17:36:55

ja ich will einfach z.b wenn ich arbeite mal nen xterm aufmachen mein script aufrufen....das mir meine wlan verbindung konfiguriert...und dann will ich das sie das xterm fenster wieder schließt. :P

latenite
Beiträge: 688
Registriert: 14.05.2007 01:04:23

Beitrag von latenite » 18.07.2007 17:48:14

nur chmod bringt keinen erfolg

t23:~# chmod 777 /bin/my_scripts/wlan_julia
t23:~# wlan
wlanconfig wlanon
t23:~# wlan


das wlanon ist mein script das bei /bin/ liegt und funktioniert.

wie bekomme ich das /bin/my_scripts/wlan_julia zum laufen??

:roll:

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von herrchen » 18.07.2007 18:55:17

latenite hat geschrieben: t23:~# chmod 777 /bin/my_scripts/wlan_julia
t23:~# wlan
wlanconfig wlanon
t23:~# wlan
[...]
wie bekomme ich das /bin/my_scripts/wlan_julia zum laufen?
ich sehe da gar keinen aufruf von "wlan_julia" ...

da du hier in letzter zeit sehr viele fragen zu den grundlagen stellst, lege ich dir mal folgendes ans herz:

http://de.linwiki.org/index.php/Linuxfibel

herrchen

Benutzeravatar
Mr_Snede
Beiträge: 2323
Registriert: 08.07.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ruhrpott

Beitrag von Mr_Snede » 18.07.2007 19:13:12

Hast du schon ausprobiert?

einfach mal ins Terminalfenster tippen und Enter betätigen. Kann natürlich auch automatisch aus einem Script aufgerufen werden.
Software Finder - Software in Kategorien Debian ohne Ballast - Tipps für ein schlankes Debian

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 19.07.2007 07:21:07

latenite hat geschrieben:nur chmod bringt keinen erfolg

t23:~# chmod 777 /bin/my_scripts/wlan_julia
t23:~# wlan
wlanconfig wlanon
t23:~# wlan


das wlanon ist mein script das bei /bin/ liegt und funktioniert.

wie bekomme ich das /bin/my_scripts/wlan_julia zum laufen??

:roll:
In der Variable $PATH (siehe "echo $PATH") ist gesetzt, in welchen Verzeichnissen er nach ausführbaren Programmen suchen soll, füg doch mal Dein Script-Path an, also "export PATH=$PATH:/bin/my_scripts/", und probier dann nochmal.

Ansonsten hat herrchen recht, vielleicht solltest Du Dir ein paar Grundlagen über bash und Scripting beibringen.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

latenite
Beiträge: 688
Registriert: 14.05.2007 01:04:23

din ja grad dabei ... zu lernen

Beitrag von latenite » 21.07.2007 17:49:50

ich lese neben bei tuts und probier mich aus...stelle aber eben auch fragen wenn es mal nicht klappt.
linuxfiebel kenne ich is ganz ok danke.

exit war klar das was ich "gesucht" habe...man wie klar und einfach....danke

mit dem setzen des PATH habe ich noch so meine probleme...nach dem reboot ist der wieder weg..komisch??

Benutzeravatar
Mr_Snede
Beiträge: 2323
Registriert: 08.07.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ruhrpott

Re: din ja grad dabei ... zu lernen

Beitrag von Mr_Snede » 21.07.2007 17:57:06

latenite hat geschrieben:mit dem setzen des PATH habe ich noch so meine probleme...nach dem reboot ist der wieder weg..komisch??
Forumssuche mit den Begriffen:

Code: Alles auswählen

pfad setzen
und ein wenig stöbern bringt:
--> http://www.debianforum.de/forum/viewtop ... 943#230943
zu Tage.
Software Finder - Software in Kategorien Debian ohne Ballast - Tipps für ein schlankes Debian

latenite
Beiträge: 688
Registriert: 14.05.2007 01:04:23

Beitrag von latenite » 22.07.2007 17:47:46

exit schließt nicht aus dem script

also wenn ich ein xterm aufrufe und darin exit eingebe dann verschwindet es.

aber wenn ich folgendes script laufen lasse

Code: Alles auswählen

#iwconfig script fuer wlanopen
echo `ifconfig ath0 down`
echo ""
echo `iwconfig ath0 essid linksys mode managed channel 2.412G rate 11M`
echo ""
echo `iwconfig ath0`
echo ""
echo `dhclient ath0`
echo ""
echo ">>>STATUS<<< "
echo ""
echo `ifconfig ath0`
echo ""
echo `exit`
dann bleibt das xterm fenster offen.
warum? was muss ich im script sagen damit es geschlossen wird nachdem es gelaufen ist? :roll:

Benutzeravatar
Mr_Snede
Beiträge: 2323
Registriert: 08.07.2003 13:48:49
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ruhrpott

Beitrag von Mr_Snede » 22.07.2007 18:13:07

Bitte informiere dich was echo genau tut.
im Moment gibst du mit

Code: Alles auswählen

echo `exit`
Die Buchstabereihenfolge "e" "x" "i" "t" als Text aus, anstelle den Befehl exit auszuführen.
Software Finder - Software in Kategorien Debian ohne Ballast - Tipps für ein schlankes Debian

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von GoKi » 22.07.2007 18:42:05

Mr_Snede hat geschrieben:Bitte informiere dich was echo genau tut.
im Moment gibst du mit

Code: Alles auswählen

echo `exit`
Die Buchstabereihenfolge "e" "x" "i" "t" als Text aus, anstelle den Befehl exit auszuführen.
Da sind noch Backticks um das exit. Da wird gar nix ausgegeben, weil die subshell in der exit ausgeführt wird, keine Ausgabe liefert.
Also echo und die backticks weg. Die können eigentlich auch bei den ganzen anderen Befehlen weg.

Und exit am Ende vom Script ist wahrscheinlich auch nicht so sinnvoll.

Stattdessen meine Frage:
Wie startest du das Script im xterm?

Code: Alles auswählen

xterm -e script
Da sollte das xterm auch wieder schließen nach der Ausführung.
MfG GoKi
:wq

latenite
Beiträge: 688
Registriert: 14.05.2007 01:04:23

Beitrag von latenite » 22.07.2007 21:26:07

ok ich hab das script abgeändert .... ohne die echos

Code: Alles auswählen

#iwconfig script fuer wlanopen
ifconfig ath0 down
echo ""
iwconfig ath0 essid linksys mode managed channel 2.412G rate 11M
echo ""
dhclient ath0
echo ""
echo ">>>STATUS<<< "
echo ""
ifconfig ath0
echo ""
exit
aber exit zeigt immernoch keine wirkung

ich öffne das konsolenfenster über ein icon in der taskleiste. dann tippe ich nur den namen des scripts ein...das läuft dann durch...das fenster bleibt aber offen..sols aber nicht :cry:

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 22.07.2007 23:49:28

Wenn man verhindert das ne Subshell aufgrufen wird dann gehts.

Code: Alles auswählen

. ./bin/scriptname
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

FLoH.tar
Beiträge: 18
Registriert: 15.09.2005 17:45:03

Beitrag von FLoH.tar » 08.10.2007 21:44:53

Wie schon gesagt wurde,

Code: Alles auswählen

xterm -e /dein/skript
- das funktioniert evident, so habe ich mir nämlich ein Root-Terminal eingerichtet mit

Code: Alles auswählen

xterm -cr red -e su
, was einwandfrei via Strg-D (EOF, hier: Shell beenden) schließt.

Antworten