Hallo,
ich habe eine shell(bash)-Prozedur geschrieben, die nicht funktioniert und habe keine Ahnung warum nicht!
Datei "DIN", die nicht funktioniert:
pr -l72 -n #Zeilenangabe + Zeilennummerierung
lp
Datei "heute", die funktioniert:
date
who
Man schreibt sich!
Andreas
shell-prozedur
Re: shell-prozedur
Hi Andreas,
wie rufst du denn das Skript DIN auf?
Ich sehe da nämlich keine Angaben, welche Datei das pr Kommando eigentlich bearbeiten soll.
Wenn du ein $1 an die pr-Zeile hängst, dann kannst du dem Skript den Dateinamen als Parameter übergeben.
Also ein Aufruf <b>./DIN das_geniale_dokument</b> bearbeitet dann eben das_geniale_dokument.
Wenn das nicht das Problem war - was passiert denn, wenn das Skript nicht funktioniert?
Gruß,
nano
wie rufst du denn das Skript DIN auf?
Ich sehe da nämlich keine Angaben, welche Datei das pr Kommando eigentlich bearbeiten soll.
Wenn du ein $1 an die pr-Zeile hängst, dann kannst du dem Skript den Dateinamen als Parameter übergeben.
Also ein Aufruf <b>./DIN das_geniale_dokument</b> bearbeitet dann eben das_geniale_dokument.
Wenn das nicht das Problem war - was passiert denn, wenn das Skript nicht funktioniert?
Gruß,
nano
Re: shell-prozedur
Hallo NANO,
nun ich rufe das Kommando wie folgt so aus: din "gewuenschte Datei"!
-----------------------------------------------------------------------
$1 pr -l72 -n
./din ../cprog/hallo.c
./din: line 1: ../cprog/hallo.c: Keine Berechtigung
nun ich rufe das Kommando wie folgt so aus: din "gewuenschte Datei"!
-----------------------------------------------------------------------
$1 pr -l72 -n
./din ../cprog/hallo.c
./din: line 1: ../cprog/hallo.c: Keine Berechtigung
Re: shell-prozedur
Hi,
du mußt das $1 ans Ende der Zeile hängen.
$1 steht für den 1. Parameter, der an das Skript übergeben wird (was $2, $3, ... bedeutet, kannst du dir nun sicher selber zusammenreimen <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">)
Diese Variable wird dann beim Abarbeiten des Programms durch ihren Wert ersetzt. D.h. in deinem Fall wird bei Aufruf von
<b>din "gewuenschte Datei"</b>
in Zeile 1 des Skripts das Kommando
<b>gewuenschte Datei pr -l72 -n</b>
an die Shell übergeben, was natürlich nicht funktionieren kann. <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Es muß also lauten:
<b>pr -l72 -n #Zeilenangabe + Zeilennummerierung $1</b>
du mußt das $1 ans Ende der Zeile hängen.
$1 steht für den 1. Parameter, der an das Skript übergeben wird (was $2, $3, ... bedeutet, kannst du dir nun sicher selber zusammenreimen <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">)
Diese Variable wird dann beim Abarbeiten des Programms durch ihren Wert ersetzt. D.h. in deinem Fall wird bei Aufruf von
<b>din "gewuenschte Datei"</b>
in Zeile 1 des Skripts das Kommando
<b>gewuenschte Datei pr -l72 -n</b>
an die Shell übergeben, was natürlich nicht funktionieren kann. <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Es muß also lauten:
<b>pr -l72 -n #Zeilenangabe + Zeilennummerierung $1</b>
Re: shell-prozedur
Hallo Nano,
danke, Du hast sehr geholfen, es geklappt!
Man schreibt sich!
Andreas
danke, Du hast sehr geholfen, es geklappt!
Man schreibt sich!
Andreas