Sie sind nicht angemeldet.

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

61

20.02.2006, 16:38

Zitat

Original von ENTARO
Ist es möglich die Umgebung zu exportieren, so wie Variablen?
Dann wäre das Problem schnell gelöst.

:? was meinst du damit "in die umgebung exportieren"? was willst du exportieren und wohin? ins environment?
was ist dann gelöst?
hast du die scripte ausprobiert? ich habe dann letztendlich in kill und trap SIGQUIT (nummer 3) genommen und es funktioniert.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

62

20.02.2006, 17:38

Sobald ich ein weiteres Script ausführe (automatisch), wechselt es ja die Shell, richtig?
Kann ich also nicht die Informationen aus der Shell, wo die ganze Sache startet, in die neue exportieren?
Das könnte ihre Werbefläche sein!

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

63

20.02.2006, 19:04

Zitat

Original von ENTARO
Sobald ich ein weiteres Script ausführe (automatisch), wechselt es ja die Shell, richtig?

nein das script wechselt überhaupt nichts. wenn das script durch das einstecken des sticks gestartet wird (wie machst du das eigentlich? im usb.agent oder wo?) dann sucht das scripte eine interaktive shell und startet dort den clientet.

Zitat


Kann ich also nicht die Informationen aus der Shell, wo die ganze Sache startet, in die neue exportieren?

wenn dein script durch das einstecken des usb-sticks gestartet wird, hat es doch überhaupt keine verbindung zum terminal.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

64

21.02.2006, 13:55

Leider muss ich zugeben, dass ich nicht genau weis, wie das mit dem einstecken funktioniert. Sobald ich den Stick einstecke, startet er das Script, das warschon so, als ich das erstemal mit dieser Maschine herumgewerkelt habe.

Ist das nicht so, dass wenn ich ein Script habe, welches ein anderes startet, auch die Umgebung gewechselt wird? Denn ansonsten müsste ich doch die von mir gewünschten ausgaben auf den Bildschirm bekommen. :?
Das könnte ihre Werbefläche sein!

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

65

21.02.2006, 14:10

Zitat

Original von ENTARO
Leider muss ich zugeben, dass ich nicht genau weis, wie das mit dem einstecken funktioniert. Sobald ich den Stick einstecke, startet er das Script, das warschon so, als ich das erstemal mit dieser Maschine herumgewerkelt habe.

also weisst du gar nicht, wie dieses script gestartet wird (welcher daemon oö das vernlasst. ich nehme mal an, das dieses script durch das hotplug system aufgerufen wird.

Zitat


Ist das nicht so, dass wenn ich ein Script habe, welches ein anderes startet, auch die Umgebung gewechselt wird? Denn ansonsten müsste ich doch die von mir gewünschten ausgaben auf den Bildschirm bekommen. :?


also mal grundsätzlich, wenn in einem script ein anderes eingesouced wird, ist es bestandteil des übergeordneten scriptes und läuft in der selben umgebung. wird durch die schell ein child-prozess aufgerufen, so erbt er die umgebung der shell.

wenn du vom bildschirm sprichts, das hat erst einmal nichts mit einander zu tun. die bash(shell) ist ein kommandointerpreter, also auch "nur" ein kommando. das hat mit dem bildschirm und der tastatur absolut nichts zu tun.
beim systemstart werden durch mehrere getty-prozesse (siehe /etc/inittab) nach einem erfolgreichen login die standardein/ausgabe und der standarderrorkanal einer shell (siehe festlegung in /etc/passwd) mit dem rufenden terminal verbunden. diese shell/bash hat nun ihre ein/ausgabe-kanäle mit einem terminal verbunden und kann etwas von der tastatur entgegennehmen und ausgaben auf dem bildschirm darstellen lassen.
wird eine shell zb im hintergrund durch einen daemonen gestartet (zzb crond oä) dann hat diese shell im allgemeinen kein zugang zu einen terminal und kann deshalb ohne weiteres auch nichts auf dem terminal ausgeben oder eingaben entgegennehmen.

also zwischen shell und terminal besteht ein gravierender unterschied!
wenn die shell mit einem terminal verbunden wird, ist sie interaktiv und du kannst eingaben machen und bekommst die ausgaben auf dem bildschirm angezeigt.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

bonsai

Prof.Dr. Klugschiss

  • »bonsai« ist männlich

Beiträge: 1 486

Wohnort: N.de

Beruf: Informatiker

  • Nachricht senden

66

22.02.2006, 11:46

...

Zitat

Sobald ich ein weiteres Script ausführe (automatisch), wechselt es ja die Shell, richtig?


Jein, .... wenn Du Variablen in dem Skript nutzen moechtest, dann mach' es am Besten so:

. /dasist_der_Pfad_zu_meinen_Variablen/Variablen.sh

DAS LEERZEICHEN ZWISCHEN . und / IST KEIN (!!!) VERSEHEN!!!!

Das muesste dann funktionieren. :)

Kind regards,

Bernd
Die erste programmgesteuerte Rechenmaschine (Z1) wurde Mitte der 30er Jahre als "nicht patentwürdig" eingestuft. Warum versaut mir das Ding 50 Jahre später immer noch den Tag?

67

22.02.2006, 15:28

@linuxerr:
Ich weis es nicht genau, ich denke aber dass es mit hotplug funktioniert.
Also kann ich nicht einfach durch ein Script ein anderes aufrufen...d.h., ich muss eine Pipe erstellen, damit die Daten auch dort ankommen, wo sie ankommen sollen, sprich auf meinem Bildschirm.

@bonsai:

Zitat

DAS LEERZEICHEN ZWISCHEN . und / IST KEIN (!!!) VERSEHEN!!!!


Das spart nun mindestens 1 posting :()
Das könnte ihre Werbefläche sein!

68

22.02.2006, 16:57

Nun habe ich nochmal das mit Client / Server probiert und ich erhalte folgenden Fehler:
bad interpreter: No such file or directory
:keineahnung: :? :keineahnung:

//edit:

Ich hatte das Signal 16 eingestellt!
Nun hab ichs mit 0 versucht und bekomme nun folgenden Fehler:
chown: failed to get attributes of '/tmp/rohr': No such file or directory
chmod: failed to get attributes of '/tmp/rohr': No such file or directory

Ich habe das Script jeweils aus meinem Mount-Punkt heraus gestartet, also /mnt/stick/...
Das könnte ihre Werbefläche sein!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ENTARO« (22.02.2006, 17:01)


linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

69

22.02.2006, 17:06

natürlich musst du die named-pipe auch anlegen (hab ich in den ersten beiträgen schon beschrieben.
mknod -m777 /tmp/rohr p
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

70

22.02.2006, 17:21

Ok, das scheint funktioniert zu haben, nur bekomme ich nun weder eine Ausgabe, noch eine Fehlermeldung :)
Das könnte ihre Werbefläche sein!

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

71

22.02.2006, 18:18

startest du das serverscript per hand?
an welchen user sendes du das signal?
funktioniert der client?
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

bonsai

Prof.Dr. Klugschiss

  • »bonsai« ist männlich

Beiträge: 1 486

Wohnort: N.de

Beruf: Informatiker

  • Nachricht senden

72

23.02.2006, 14:39

Posting sparend.

Zitat

Das spart nun mindestens 1 posting


...das kann ich wieder ausgleichen (Q.E.D) :()

Nach so einem Leerzeichen kann man eine ganze Weile suchen.... ;)
Die erste programmgesteuerte Rechenmaschine (Z1) wurde Mitte der 30er Jahre als "nicht patentwürdig" eingestuft. Warum versaut mir das Ding 50 Jahre später immer noch den Tag?

73

23.02.2006, 15:00

@linuxerr:

Ich starte es sowohl von Hand als automatisch. Beim automatischen start sehe ich nichts und beim manuellen Start bekomme ich den besagten Fehler.
Ich sende es an root, als welcher ich angemeldet bin.
ich bekomme keinen Fehler, also scheint er zu funktionieren.


@bonsai:

Was heißt Q.E.D.? :)
Das könnte ihre Werbefläche sein!

bonsai

Prof.Dr. Klugschiss

  • »bonsai« ist männlich

Beiträge: 1 486

Wohnort: N.de

Beruf: Informatiker

  • Nachricht senden

74

23.02.2006, 15:42

Somit erhöhen wir dadurch ...

die posting-rate: :()

quod erat demonstrandum
Die erste programmgesteuerte Rechenmaschine (Z1) wurde Mitte der 30er Jahre als "nicht patentwürdig" eingestuft. Warum versaut mir das Ding 50 Jahre später immer noch den Tag?

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

75

23.02.2006, 15:44

die fehlermeldung no such file or directory kann nicht mehr kommen, wenn du die named pipe angelegt hast, oder in deinem script ist ein fehler.

qed = quod erat demonstrandum

ps. bonsai war schneller
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »linuxerr« (23.02.2006, 15:51)


76

23.02.2006, 15:50

Jetzt passiert garnichts mehr. Weder Fehlermeldung, noch sonstwas. Ich kann in Linux normal arbeiten, nur arbeitet der Stick wie verrückt.
Das könnte ihre Werbefläche sein!

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

77

23.02.2006, 16:07

poste mal bitte die datei .profile aus dem homeverzeichnis vonn root, also /root/.profile
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

78

23.02.2006, 16:09

Folgendes steht in der Datei .profile:

stickmessage(){
cat < /tmp/rohr
dd if=$( tty ) count=1 bs=1 > /tmp/rohr 2> /dev/null
cat < /tmp/rohr
}

Ich habe es genau so gemacht, wie beschrieben.
Das könnte ihre Werbefläche sein!

linuxerr

Prof. Dr. Schlaumeier

  • »linuxerr« ist männlich

Beiträge: 8 557

Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)

  • Nachricht senden

79

23.02.2006, 16:59

es fehlt der eintrag

trap stickmessage SIGQUIT

in der datei .profile
damit wird die funktion stickmessage an das signal SIGQUIT gebunden.
Die Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt.
Jeder der einen findet darf ihn behalten und in eigenen Werken weiterverwenden.

strcat

Unix Gladiator

  • »strcat« ist männlich

Beiträge: 2 331

Wohnort: /Earth/Germany/Bavaria/Regensburg

  • Nachricht senden

80

23.02.2006, 17:07

Zitat

Original von linuxerr
es fehlt der eintrag

trap stickmessage SIGQUIT

in der datei .profile
damit wird die funktion stickmessage an das signal SIGQUIT gebunden.

Damit wird das Signal SIGQUIT von stickmessage() ignoriert.
Christian 'strcat' Schneider <http://www.strcat.de/>
/* When all else fails, read the instructions. */

Thema bewerten