Hi Erstmal sorry für die vermütlich dümmste Frage der Woche... Ich habe folgendes Problem : Es existiert unter /xxx/xxx/xxx/xxx/xxx bei mir ein kleines, selbstgeschriebenes Programm, das nur auf der Konsole unter root läuft. funktionieren tuts, wenn ich in das entsprechende verzeichnis gehe, aber ich möchte dem kilometerlangen cd Befehl aus dem weg gehen und wollte nun einen script schreiben, der das proggy aufruft. ( So wie die Batch-Dateien unter Dos ) aber wenn ich versuche, den script zu starten, kommt nur die Fehlermeldung : Permission denied in dem Script steht nur cd xxxxx .dateiname was mach ich als exDOSler noch falsch ? ( einen Link kann ich nicht setzen, da das proggy daten im eigenen Verzeichnis benötigt, bzw verändert, habs probiert, da kamen dann nur fehlermeldungen ) Für den "goldenen" Tip wäre ich sehr Dankbar. -- ICQ - UID : 51735624 Homepage : http://metropolis.de/176426.html E - Mail : Marco_Jaeger@gmx.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Fri, Oct 29, 1999 Marco Jäger wrote:
Hi
hi [...]
Ich habe folgendes Problem :
Es existiert unter /xxx/xxx/xxx/xxx/xxx bei mir ein kleines, selbstgeschriebenes Programm, das nur auf der Konsole unter root läuft. funktionieren tuts, wenn ich in das entsprechende verzeichnis gehe, aber ich möchte dem kilometerlangen cd Befehl aus dem weg gehen und wollte nun einen script schreiben, der das proggy aufruft. ( So wie die Batch-Dateien unter Dos )
ist umständlich. nimm doch einfach /xxx/xxx/xxx/xxx/xxx in deinen $PATH auf. dann musst du blos den script-namen ohne pfad angeben...
aber wenn ich versuche, den script zu starten, kommt nur die Fehlermeldung : Permission denied in dem Script steht nur
cd xxxxx .dateiname ^^^^^ das müsste heißen: ./dateiname. ".dateiname" sicht nach einer datei ".dateiname". "./dateiname" sucht nach der datei "dateiname" im aktuellen dir ("./").
[...]
Für den "goldenen" Tip wäre ich sehr Dankbar. [...]
hmm, du könntest auch einen alias definieren: alias name="/xxx/xxx/script" moritz -- Morit Schulte - hp9001.fh-bielefeld.de/~moritz/ - PGP Key available| ---- Zufallssignatur #2: ------------------------------------------| Dateien um die Linux-Umgebung anzupassen: /etc/issue, /etc/motd, | befehle in /sbin/init.d/boot.local werden vor dem login ausgeführt.| --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Marco, On Fre, 29 Okt 1999, Marco Jäger wrote:
Erstmal sorry für die vermütlich dümmste Frage der Woche...
Du weißt doch, es gibt keine dummen Fragen ! Und wenn es dumme gäbe, ich hätte schon dümmere gesehen ;-)
aber wenn ich versuche, den script zu starten, kommt nur die Fehlermeldung : Permission denied was mach ich als exDOSler noch falsch ?
Unter DOS gibt es Dateirechte nur in sehr beschränktem Maße. Wenn du mal ein "ls -l scriptname" machst, steht da wahrscheinlich sowas wie -rw-rw-rw- ....... irgendwas Daß heißt, daß der Besitzerund auch alle anderen die Datei lesen und schreiben dürfen. Wenn Du das Programm auch ausführen lassen willst, dann muß es execute-Rechte haben, also auch ausführbar sein. Dazu gibst du ein: chmod u+x dateiname Das heißt, daß der Benutzer (u = user) Ausführungsrechte erhält (x = execute). Wenn auch andere das Skript starten dürfen sollen, mußt du chmod a+x dateiname eingeben. Gruß, Sebastian -- "No worries." - Rincewind. Sebastian Helms - mailto:sebastian.helms@gmx.de Registered Linux user #137247 PGP available - 5C70 0D48 70F8 2CB1 6AB7 4539 0E37 E3E1 61A7 BA87 --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On 28-Oct-99 Marco Jäger wrote:
Hi
Erstmal sorry für die vermütlich dümmste Frage der Woche...
Ich habe folgendes Problem :
Es existiert unter /xxx/xxx/xxx/xxx/xxx bei mir ein kleines, selbstgeschriebenes Programm, das nur auf der Konsole unter root läuft. funktionieren tuts, wenn ich in das entsprechende verzeichnis gehe, aber ich möchte dem kilometerlangen cd Befehl aus dem weg gehen und wollte nun einen script schreiben, der das proggy aufruft. ( So wie die Batch-Dateien unter Dos ) aber wenn ich versuche, den script zu starten, kommt nur die Fehlermeldung : Permission denied in dem Script steht nur
Hallo, noch eine dumme Frage: hast du die Datei auch ausfuehrbar gemacht ? das heisst die Rechte mit chmod 755 /datei (oder 775) gesetzt ? Gruss Dieter -- The steady state of disks is full. -- Ken Thompson 28-Oct-99 Dieter Kluenter <dkluenter@gmx.de> --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
On Fri, 29 Oct 1999, Marco Jäger wrote:
Es existiert unter /xxx/xxx/xxx/xxx/xxx bei mir ein kleines, selbstgeschriebenes Programm, das nur auf der Konsole unter root läuft. funktionieren tuts, wenn ich in das entsprechende verzeichnis gehe, aber ich möchte dem kilometerlangen cd Befehl aus dem weg gehen und wollte nun einen script schreiben, der das proggy aufruft. ( So wie die Batch-Dateien unter Dos ) aber wenn ich versuche, den script zu starten, kommt nur die Fehlermeldung : Permission denied in dem Script steht nur
cd xxxxx .dateiname
was mach ich als exDOSler noch falsch ?
Ist das Skript ausführbar? ls -l /da/liegt/das/ding Da muss was von rwx stehen. Nur wird das dein Problem nicht lösen: Du gibts einen Befehl ein, die Shell/der Kernel führt Ihn aus. In den ersten Zeichen steht wer denn für das File zuständig ist. Es gibt binäre Files (ELF, aout, usw) und Textdateien. #! sagt dem Kernel das es eine Art Macrodatei für ein danach erwähntes File ist. Meist ist das /bin/bash. Das kann aber auch /usr/bin/perl, /sbin/lilo , /bin/sh oder /bin/schlagmichtot sein. Diesem File wird der Dateiname als Parameter mit übergeben und schon geht das Spiel von vorne los. Das war jetzt sehr simple erklärt... Was Dir fehlt ist also in der ersten Zeile #! /bin/sh und das +x , man chmod Gruss Olaf -- $ man 1 current_release BUGS Users never read manuals... --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Olaf Hering wrote:
On Fri, 29 Oct 1999, Marco Jäger wrote:
Es existiert unter /xxx/xxx/xxx/xxx/xxx bei mir ein kleines, selbstgeschriebenes Programm, das nur auf der Konsole unter root läuft. funktionieren tuts, wenn ich in das entsprechende verzeichnis gehe, aber ich möchte dem kilometerlangen cd Befehl aus dem weg gehen und wollte nun einen script schreiben, der das proggy aufruft. ( So wie die Batch-Dateien unter Dos ) aber wenn ich versuche, den script zu starten, kommt nur die Fehlermeldung : Permission denied in dem Script steht nur
cd xxxxx .dateiname
was mach ich als exDOSler noch falsch ?
Ist das Skript ausführbar? ls -l /da/liegt/das/ding
Da muss was von rwx stehen.
Nur wird das dein Problem nicht lösen:
Du gibts einen Befehl ein, die Shell/der Kernel führt Ihn aus. In den ersten Zeichen steht wer denn für das File zuständig ist. Es gibt binäre Files (ELF, aout, usw) und Textdateien.
#! sagt dem Kernel das es eine Art Macrodatei für ein danach erwähntes File ist. Meist ist das /bin/bash. Das kann aber auch /usr/bin/perl, /sbin/lilo , /bin/sh oder /bin/schlagmichtot sein.
Diesem File wird der Dateiname als Parameter mit übergeben und schon geht das Spiel von vorne los.
Das war jetzt sehr simple erklärt...
Was Dir fehlt ist also in der ersten Zeile #! /bin/sh und das +x , man chmod
Naja, scheitern wird sein Script wahrscheinlich nicht gerade an der fehlenden Interpreter-Definition. Bash ist doch eh die Standard-Shell unter Linux und auf anderen Unixen dürfte ein cd und ein Programmaufruf von der dort benutzte Shell auch verstanden werden, oder? Ok, ist kein sauberer Stil, sollte man sich nicht angewöhnen. christian -- Bitte kein CC: bei Antwort an Mailingliste Mail-Etikette: To: cschult@gmx.de, Subject: send etikette Mail-Etikette: http://www.homepages.de/home/cschult/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (6)
-
cschult@gmx.de
-
dkluenter@gmx.de
-
Marco_Jaeger-Lindenberg@t-online.de
-
moritz@hp9001.fh-bielefeld.de
-
olh@suse.de
-
sebastian.helms@gmx.de