F
Fingerhebel
Grünschnabel
Moin zusammen,
ich bin zwar kein absoluter Frischling mehr, was Linux angeht, aber erst seit wenigen Minuten in diesem Forum. Seit einigen Tagen beschaeftige ich mich mit der Shell-Programmierung. Ich verwende die BASH unter Linux Mint 19.3. Dazu habe ich mir das Buch "Shell-Programmierung - Das umfassende Handbuch" von S. Kania und J. Wolf gekauft. Ich bin noch am Anfang und auf ein Problem gestossen, bei dem ich euch um Hilfe bitte.
Folgendes Script habe ich nach Buchanleitung geschrieben:
#!/bin/sh
# Script-Name: prozdat
# Listet Prozessinformationen auf
echo 'Anzahl lauferner Prozesse:'
# ... wc -l zählt alle Zeilen die ps -ef ausgeben würde
ps -ef | wc -l
echo 'Prozessinformationen unserer Shell:'
# ... die Shellvariable $$ enthält die eigene Prozessnummer
ps $$
Anschliessend wird das Script mit
sh -x ./prozdat
ausgefuehrt. Das funktioniert problemlos. Jede Kommandozeile wird mit einem Plus ausgegeben.
Im Folgenden wird das Plus-Zeichen durch den Befehl
export PS4="[Line: $LINENO] "
ersetzt. Und das funktioniert leider nicht, denn anstatt die jeweilige Zeilennummer auszugeben, erscheint wahllos irgendeine, die fuer alle Zeilen gleich ist (siehe Anhang).
Ueber eine Loesung oder Anregung, warum die Zeilennummer so ausgegeben wird, wuerde ich mich freuen.
Liebe Gruesse,
Fingerhebel
ich bin zwar kein absoluter Frischling mehr, was Linux angeht, aber erst seit wenigen Minuten in diesem Forum. Seit einigen Tagen beschaeftige ich mich mit der Shell-Programmierung. Ich verwende die BASH unter Linux Mint 19.3. Dazu habe ich mir das Buch "Shell-Programmierung - Das umfassende Handbuch" von S. Kania und J. Wolf gekauft. Ich bin noch am Anfang und auf ein Problem gestossen, bei dem ich euch um Hilfe bitte.
Folgendes Script habe ich nach Buchanleitung geschrieben:
#!/bin/sh
# Script-Name: prozdat
# Listet Prozessinformationen auf
echo 'Anzahl lauferner Prozesse:'
# ... wc -l zählt alle Zeilen die ps -ef ausgeben würde
ps -ef | wc -l
echo 'Prozessinformationen unserer Shell:'
# ... die Shellvariable $$ enthält die eigene Prozessnummer
ps $$
Anschliessend wird das Script mit
sh -x ./prozdat
ausgefuehrt. Das funktioniert problemlos. Jede Kommandozeile wird mit einem Plus ausgegeben.
Im Folgenden wird das Plus-Zeichen durch den Befehl
export PS4="[Line: $LINENO] "
ersetzt. Und das funktioniert leider nicht, denn anstatt die jeweilige Zeilennummer auszugeben, erscheint wahllos irgendeine, die fuer alle Zeilen gleich ist (siehe Anhang).
Ueber eine Loesung oder Anregung, warum die Zeilennummer so ausgegeben wird, wuerde ich mich freuen.
Liebe Gruesse,
Fingerhebel
Zuletzt bearbeitet: