Hallo! In der ersten Zeile eines Scriptes erscheint normalerweise sowas wie: #!/bin/csh Jetzt stehen aber einige der Interpreter an verschiedenen Stellen im Dateisystem bzw. es gibt einige links auf selbige. Wenn ich jetzt ein script schreibe, welchen Pfad sollte ich dann angeben? Insbesondere interessieren mich folgende Interpreter: csh/tcsh, bash, perl und tcl/wish. In Solaris ist letzteres /usr/local/bin/wish, in Linux /usr/bin/X11/wish. Was ist "richtig", was "falsch"? Natürlich ist das Problem über links zu lösen, aber wo müssen die hin? Der FHS sagt, daß (zumindest die root) login shell nicht in einem gemountetem Verzeichnis sein darf. Damit kommt (t)csh und bash wohl nach /bin. Und der Rest? Gunther -- --------------------------- Dipl.-Ing. Gunther Kuhlmann Gunther_Kuhlmann@mentorg.com Tel.: +44 (0)12 52 / 74 83 25 PGP: E6 BC 78 6B E6 09 C7 16 AB 5D 9A 9A D7 1C 01 FB --------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Don, Jun 01, 2000 at 05:04:13 +0100, Gunther Kuhlmann wrote:
In der ersten Zeile eines Scriptes erscheint normalerweise sowas wie:
#!/bin/csh
Jetzt stehen aber einige der Interpreter an verschiedenen Stellen im Dateisystem bzw. es gibt einige links auf selbige.
Interpreter? Na ja, nette Untertreibung für eine Shell ;-)
Wenn ich jetzt ein script schreibe, welchen Pfad sollte ich dann angeben? Insbesondere interessieren mich folgende Interpreter: csh/tcsh, bash, perl und tcl/wish.
Du musst die Pfade angeben, unter denen die Programme auch liegen. Wenn Du nicht weisst, wo das ist, dann helfen: type whereis find Damit sollte sich jedes Programm aufspüren lassen.
In Solaris ist letzteres /usr/local/bin/wish, in Linux /usr/bin/X11/wish. Was ist "richtig", was "falsch"? Natürlich ist das Problem über links zu lösen, aber wo müssen die hin?
Um Himmelswillen, Du willst doch nicht etwa für jedes betroffene Programm noch Extra-Links anlegen?
Der FHS sagt, daß (zumindest die root) login shell nicht in einem gemountetem Verzeichnis sein darf. Damit kommt (t)csh und bash wohl nach /bin. Und der Rest?
Die Frage ist falschrum gestellt. Die packst nicht die Programme irgendwohin, sondern Du stellst fest, wo sie sind. Siehe oben. BTW: Bei mir ist /bin/sh ein Link auf /bin/bash. Jan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Don, 01 Jun 2000, Jan Trippler wrote:
Du musst die Pfade angeben, unter denen die Programme auch liegen. Wenn Du nicht weisst, wo das ist, dann helfen: type whereis find Damit sollte sich jedes Programm aufspüren lassen.
nicht zu vergessen: which - um zu sehen obs im aktuell gesetzten pfad auch schon liegt. Mit freundlichen Grüßen, Joerg Henner. -- LinuxHaus Stuttgart | Tel.: +49 (7 11) 2 85 19 05 Jörg Henner & Adrian Reyer, Datentechnik GbR | D2: +49 (1 72) 7 35 31 09 | Fax: +49 (7 11) 5 78 06 92 Linux, Netzwerke, Webhosting & Support | http://lihas.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* Joerg Henner schrieb am 02.Jun.2000:
On Don, 01 Jun 2000, Jan Trippler wrote:
Du musst die Pfade angeben, unter denen die Programme auch liegen. Wenn Du nicht weisst, wo das ist, dann helfen: type whereis find Damit sollte sich jedes Programm aufspüren lassen.
nicht zu vergessen: which - um zu sehen obs im aktuell gesetzten pfad auch schon liegt.
$ type which which is aliased to `type -p' Bernd -- Bei Fragen an die Liste erst mal nachschauen, ob es diese Frage nicht schon einmal gegeben hat. Ein Archiv der Liste findest Du auf: http://lists.suse.com/archives/suse-linux |Zufallssignatur 7 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Mon, 05 Jun 2000, Bernd Brodesser wrote:
$ type which which is aliased to `type -p'
ohne worte ... ich stell mich jetzt in die ecke und schäme mich ne runde ;) Mit freundlichen Grüßen, Joerg Henner. -- LinuxHaus Stuttgart | Tel.: +49 (7 11) 2 85 19 05 Jörg Henner & Adrian Reyer, Datentechnik GbR | D2: +49 (1 72) 7 35 31 09 | Fax: +49 (7 11) 5 78 06 92 Linux, Netzwerke, Webhosting & Support | http://lihas.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Joerg Henner wrote:
On Mon, 05 Jun 2000, Bernd Brodesser wrote:
$ type which which is aliased to `type -p'
ohne worte ... ich stell mich jetzt in die ecke und schäme mich ne runde ;)
Kein Grund dazu :) Obiges gilt für die Bash unter SuSE, allgemein aber nicht. Je nach Shell und Setup kann which mal ein alias (bash unter SuSE - Wird in /etc/profile gesetzt), mal ein Shell-Builtin (tcsh), oder auch ein externes Programm (ksh, csh, sh, bash im Normalfall) sein. [Selbst unter SuSE gibt es deshalb auch ein externes /usr/bin/which.] Ralf -- Ralf Corsepius Forschungsinstitut fuer Anwendungsorientierte Wissensverarbeitung (FAW) Helmholtzstr. 16, 89081 Ulm, Germany Tel: +49/731/501-8690 mailto:corsepiu@faw.uni-ulm.de FAX: +49/731/501-999 http://www.faw.uni-ulm.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Fri, 2 Jun 2000, Joerg Henner wrote:
On Don, 01 Jun 2000, Jan Trippler wrote:
Wenn Du nicht weisst, wo das ist, dann helfen: type whereis find Damit sollte sich jedes Programm aufspüren lassen. nicht zu vergessen: which - um zu sehen obs im aktuell gesetzten pfad auch schon liegt.
Wenn wir schon beim ergaenzen sind: locate. Spart u.U. massenweise IO-Last. Tschau, Volker (BTW.: Ich habe tatsaechlich (alsu user) schon auf Maschinen gearbeitet, die das Gespann "updatedb"/"locate" nicht anboten. Da habe ich dann jede Nacht um 0.23 Uhr per Cronjob mit find die Platte durchsucht und den Output in einer Datei gelagert. "locate" war dann "locate(){ grep $1 ~/var/locatedb; }".) -- <ESC>:r .signature mailto:volker.mueller@gmx.de Hi I'm a UnixVirus. Please mail me to all people you know and delete some files on your disk at random.:wq --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Volker Mueller schrieb in 1,0K (34 Zeilen):
(BTW.: Ich habe tatsaechlich (alsu user) schon auf Maschinen gearbeitet, die das Gespann "updatedb"/"locate" nicht anboten. Da habe ich dann jede Nacht um 0.23 Uhr per Cronjob mit find die Platte durchsucht und den Output in einer Datei gelagert. "locate" war dann "locate(){ grep $1 ~/var/locatedb; }".)
Oh MY! Warum denn nicht "updatedb --outputfile ~/var/locatedb" und LOCATE_PATH setzen? Sicherlich kannst du Programme in dein Homeverzeichnis installieren ... und die Locatedb ist gut kleiner als dein Format! -Wolfgang --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Wolfgang, * Am 18.06.2000 um 22:50 Uhr schrieb Wolfgang Weisselberg:
V2 T961363849 K0 N0
[ jede Menge Zeilen gelöscht ]
HX-Score: -49997 HX-OLD-ACCOUNT: TRUE .
was willst Du uns damit sagen ? BTW. Überprüfe doch bitte mal Dein Mailsystem. Mir ist nun schon des öfteren aufgefallen, daß von Dir Mails doppelt reinkommen. Sie sind absolut identisch bis auf die interne Numerierung von ezmlm. Beispiel: Message-ID: <20000618225553.M7952@tiger.bigcats.invalid> From suse-linux-return-55530-... From suse-linux-return-55538-... Du arbeitest doch nicht mit dem M$VTP - oder ? Vermutlich hast Du in Deinen Scripten ja nur eine Fehlerbehandlung vergessen ;-) (SCNR) MfG. Jürgen -- Die letzten Worte eines Turmspringers: "Ach, ist das Wasser heute schön klaaaaaaaaaaaar!" / Registered Linux-User #130804 http://counter.li.org \ \ Linux Stammtisch Bremerhaven http://linux.hs-bremerhaven.de / --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Juergen Schwarting schrieb in 1,1K (43 Zeilen):
* Am 18.06.2000 um 22:50 Uhr schrieb Wolfgang Weisselberg:
V2 T961363849 K0 N0
[ jede Menge Zeilen gelöscht ]
HX-Score: -49997 HX-OLD-ACCOUNT: TRUE .
was willst Du uns damit sagen ?
Crash (2.4.0-test1) waerend des Mailsendens. Terribly sorry. ISDN scheint noch nicht wirklich sauber zu sein. Muss wohl Sendmail genauer unter die Lupe nehmen, der macht dann wohl Mist. Allerdings ist diese Mail bisher hier nicht eingetroffen. Die von dir referenzierte Mail <20000618225051.L7952@tiger.bigcats.invalid> ist vollkommen OK von der ML an mich zurueck eingegangen.
Du arbeitest doch nicht mit dem M$VTP - oder ?
Nope.
Vermutlich hast Du in Deinen Scripten ja nur eine Fehlerbehandlung vergessen ;-) (SCNR)
Wenn du meinst. :-) -Wolfgang --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Thu, Jun 01, 2000 at 10:14:53PM +0200, Jan Trippler wrote: Hallo Jan,
Interpreter? Na ja, nette Untertreibung für eine Shell ;-)
Ack. Aber tcl redet über sich ASAIK als Interpreter. Ist aber auch nicht so wichtig.
Wenn ich jetzt ein script schreibe, welchen Pfad sollte ich dann angeben? Insbesondere interessieren mich folgende Interpreter: csh/tcsh, bash, perl und tcl/wish.
Du musst die Pfade angeben, unter denen die Programme auch liegen. Wenn Du nicht weisst, wo das ist, dann helfen: type whereis find Damit sollte sich jedes Programm aufspüren lassen.
Das ist mir schon klar. Aber das script soll ja auch bei anderen laufen. Auch beim DAU. Was heißt, daß es auf dessen Rechner auch an der Stelle liegen muß. Sonst gibt es eine Fehlermeldung und DAU sagt: Das funzt nett. Und das größere Problem ist folgendes: das wish-script soll unter Linux und Solaris laufen, die Systeme haben das wish-binary aber an unterschiedlichen Stellen:
In Solaris ist letzteres /usr/local/bin/wish, in Linux /usr/bin/X11/wish. Was ist "richtig", was "falsch"? Natürlich ist das Problem über links zu lösen, aber wo müssen die hin?
Deshalb werde ich auf einem System wohl einen link anlegen müssen. Oder gibt es noch andere Möglichkeiten?
BTW: Bei mir ist /bin/sh ein Link auf /bin/bash.
Und bei mir ist /bin/csh ein link auf /bin/tcsh, womit ich voll auf die Schnauze gefallen bin. Habe /bin/csh in mein script geschrieben, aber tcsh-syntax benutzt. Ging durch den link ja auch. Aber dann habe ich es auf einer Solaris-Kiste probiert und nix ging. Naja, Dummheit muß bestraft werden. :-) MfG Gunther -- --------------------------- Dipl.-Ing. Gunther Kuhlmann Gunther_Kuhlmann@mentorg.com Tel.: +44 (0)12 52 / 74 83 25 PGP: E6 BC 78 6B E6 09 C7 16 AB 5D 9A 9A D7 1C 01 FB --------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi Gunther,
From: Gunther Kuhlmann
Sent: Friday, June 02, 2000 9:30 AM
Und das größere Problem ist folgendes: das wish-script soll unter Linux und Solaris laufen, die Systeme haben das wish-binary aber an unterschiedlichen Stellen:
Ich wuerde an Deiner Stelle das wish-script ueber ein shell-script starten. Da kannst Du ja dann abfragen wo die einzelnen Verzeichnisse liegen, und entsprechende Umgebungsvariablen generieren. Mit Links zu arbeiten wuerde ja bedeuten, das Du auf jedem System auf dem Du die scripten starten moechtest, entsprechende links setzt, das koennte aufwaendig werden.
In Solaris ist letzteres /usr/local/bin/wish, in Linux /usr/bin/X11/wish. Was ist "richtig", was "falsch"? Natürlich ist das Problem über links zu lösen, aber wo müssen die hin?
Deshalb werde ich auf einem System wohl einen link anlegen müssen. Oder gibt es noch andere Möglichkeiten?
BTW: Bei mir ist /bin/sh ein Link auf /bin/bash. Bei der SuSE ist das ja auch OK. Auf anderen Systemen kann das aber anders aussehen.
Und bei mir ist /bin/csh ein link auf /bin/tcsh, womit ich voll auf die Schnauze gefallen bin. Habe /bin/csh in mein script geschrieben, aber tcsh-syntax benutzt. Ging durch den link ja auch. Aber dann habe ich es auf einer Solaris-Kiste probiert und nix ging. Naja, Dummheit muß bestraft werden. :-)
IIRC gibt es unter Solaris gar keine tcsh, aber kann man ja nachinstallieren;-) by Joerg --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Moin, On Fre, 02 Jun 2000, Joerg Zimmermann wrote:
From: Gunther Kuhlmann
[...] BTW: Bei mir ist /bin/sh ein Link auf /bin/bash. Bei der SuSE ist das ja auch OK. Auf anderen Systemen kann das aber anders aussehen. [...]
Red Hat und Debian nutzen das auch, somit kann man das für Corel, Halloween, Mandrake, etc. auch annehmen. ... may the Tux be with you! =Thomas= -- Thomas Bendler \\:// ml@bendler-net.de Billwiese 22 (o -) http://www.bendler-net.de/ 21033 Hamburg ---ooO-(_)-Ooo--- tel.: 0 177 - 277 37 61 Germany Linux, enjoy the ride ...! --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi Thomas,
From: Thomas Bendler
Sent: Friday, June 02, 2000 4:35 PM
On Fre, 02 Jun 2000, Joerg Zimmermann wrote:
From: Gunther Kuhlmann
[...] BTW: Bei mir ist /bin/sh ein Link auf /bin/bash. Bei der SuSE ist das ja auch OK. Auf anderen Systemen kann das aber anders aussehen. [...]
Red Hat und Debian nutzen das auch, somit kann man das für Corel, Halloween, Mandrake, etc. auch annehmen. Gunther sprach da aber von einer Sun-Maschine. Es gibt halt noch mehr als Linuxe ;-) by Joerg
--------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Moin, On Fre, 02 Jun 2000, Gunther Kuhlmann wrote: [...]
Und das größere Problem ist folgendes: das wish-script soll unter Linux und Solaris laufen, die Systeme haben das wish-binary aber an unterschiedlichen Stellen: [...]
Warum benutzt du nicht einfach zwei Scripte? Eins mit #!/bin/sh (das sollte auf allen Systemen gehen) und dieses benutzt du um zu testen wo z.B. wish liegt. Damit rufst du dann das zweite Script auf. ... may the Tux be with you! =Thomas= -- Thomas Bendler \\:// ml@bendler-net.de Billwiese 22 (o -) http://www.bendler-net.de/ 21033 Hamburg ---ooO-(_)-Ooo--- tel.: 0 177 - 277 37 61 Germany Linux, enjoy the ride ...! --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Thomas Bendler schrieb in 0,9K (26 Zeilen):
Warum benutzt du nicht einfach zwei Scripte? Eins mit #!/bin/sh (das sollte auf allen Systemen gehen) und dieses benutzt du um zu testen wo z.B. wish liegt. Damit rufst du dann das zweite Script auf.
#! /bin/sh eval 'exec perl $0 ${1+"$@"}' if 0; # tee hee! This is on a separate line, # so /bin/sh never sees it. [Perl-Programm] Solange perl im Pfad des users liegt, geht das. Wenn nicht, musst du halt dafuer sorgen oder etwas trixen oder es als /path/to/perl99 -w SCRIPT starten. -Wolfgang --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (10)
-
B.Brodesser@online-club.de
-
corsepiu@faw.uni-ulm.de
-
gunther_kuhlmann@mentorg.com
-
j.zimmermann@xsiteing.de
-
Jan.Trippler@t-online.de
-
jhe@lihas.de
-
Juergen_Schwarting@gmx.de
-
ml@bendler-net.de
-
volker.mueller@gmx.de
-
weissel@netcologne.de