User since
2003-09-25
182
Artikel
BenutzerIn
moins,
ich habe ein perlprog geschrieben.
Das soll etwas ausführen in einem Verzeichnis, aber jedoch nur in dem, wo sich der Anwender gerade befindet. Ich will jetzt aber nicht das prog in alle Verzeichnisse kopieren sondern nur an eine Stelle und dann das von jeder beliebigen stelle aufrufen.
irgendwie klar?
und wie geht das?
User since
2004-05-03
18
Artikel
BenutzerIn
Hallo,
du muss die Umgebungsvariable PATH erweitern damit das Skript gefunden wird und in dem Skript bekommst du das aktuelle Verzeichnis mit:
Gruß Marcus
User since
2003-11-28
3645
Artikel
ModeratorIn
Besser:
(Abgesehen davon, dass deine Verwendung von system() falsch ist, du willst hier Backticks `` stattdessen verwenden).
User since
2004-05-03
18
Artikel
BenutzerIn
Die Backticks sind beim "copy / paste" verloren gegangen. :(
Trotzdem ist 'use Cwd;' schöner und besser. :)
Man lernt halt nie aus. :)
Gruß Marcus =8-)
User since
2004-05-03
18
Artikel
BenutzerIn
Sorry, ich bin ein wenig verwirrt!
Aber ich meine mein system aufruf war korrekt so wie er da steht. Hätte ich Backticks genommen hätte ich mir das System sparen können.
Gruß Marcus
User since
2003-08-04
1706
Artikel
HausmeisterIn
ist schon richtig. Ich wollte dir ja nur noch eine perlische Weise vorstellen.
Ich finde es persönlich unschön wenn man sich externen betriebssystemspezifischen befehlen bedient. Da leidet die Portabilität doch sehr darunter.
Gruß Alex
User since
2003-09-25
182
Artikel
BenutzerIn
???
also:
das Perlprogramm test.pl steht in /usr oder irgendwo anders.
der Anwender geht jetzt nach /home/user/test/
und dort drin gibt er dann perl test.pl ein.
test.pl (welches in /usr .. steht) wird aufgerufen und führt seine Aktionen aber in
/home/user/test/ aus.
So soll das laufen.
User since
2003-11-28
3645
Artikel
ModeratorIn
Dann musst du "use Cwd" statt "use FindBin" verwenden.
User since
2003-09-25
182
Artikel
BenutzerIn
und was kann ich dann mit use Cwd machen?
soll das in test.pl?
wie kriege ich linux dazu test.pl überhaupt aus irgendeinem anderen Verzeichnis heraus zu finden?