Ich habe ein .sh-Skript welches direkt als Befehl über die Bash aufgerufen werden soll.
Ich erstelle also einen Soft-Symlink (Soft, da zwei verschiedene Dateisysteme) im Ordner /usr/bin (ich habe auch schon /bin ausprobiert) auf das .sh-Skript, welches sich unter /share/server/htdocs/shared/library/ZendFramework/bin/zf.sh befindet.
Der Befehl hierzu sieht so aus:
ln -s /share/server/htdocs/shared/library/ZendFramework/bin/zf.sh /usr/bin/zf
Scheint alles ohne Fehler durchzulaufen
Nun gebe ich einfach zf in die Bash-Shell ein - allerdings erhalte ich nur: "-bash: zf: command not found".
Was muss ich noch ergänzen / anders machen, damit zf.sh ausgeführt wird, wenn ich zf in als Befehl in der Bash ausführe?
Vielen Dank für eure Antworten!
Mit freundlichen Grüßen
Innocentus
Bash-Befehl, Symlink & .SH-Skript
-
- Beiträge: 263
- Registriert: 08.03.2009 16:14:08
Re: Bash-Befehl, Symlink & .SH-Skript
Wenn ein ``command not found'', dann solltest du deinen Pfad prüfen.
`which zf' bzw. `whereis zf' können ebenfalls helfen.
Was sagt:
Kannst du das Script direkt ausführen (ohne über den Softlink). (Ist das Script ausführbar?)
Code: Alles auswählen
echo $PATH
Was sagt:
Code: Alles auswählen
ls -l /share/server/htdocs/shared/library/ZendFramework/bin/zf.sh
ls -l /usr/bin/zf
Kannst du das Script direkt ausführen (ohne über den Softlink). (Ist das Script ausführbar?)
Use ed once in a while!
-
- Beiträge: 263
- Registriert: 08.03.2009 16:14:08
Re: Bash-Befehl, Symlink & .SH-Skript
Wenn ich mit cd direkt in das Verzeichnis der zf.sh gehe, dann kann ich es dort weder mit zf.sh noch mit zf aufrufen.
Ich muss den vollständigen Pfad (/share/server/htdocs/shared/library/ZendFramework/bin/zf.sh) verwenden, damit zf.sh ausgeführt wird.
Scheinbar kann die Shell eine .sh nur mit vollständigem Pfad ausführen - kann ich das irgenwie ändern?
Kopiere ich die zf.sh in den Ordner /usr/bin, dann geht es - allerdings möchte ich genau das vermeiden, weil das nur Ärger macht.
which zf gibt überhaupt nichts aus - nicht einmal eine Zeile. whereis zf gibt aus: zf :
Der Symlink wurde zuvor gesetzt. - Ich kann nur einen Soft-Symlink erstellen, da die Dateisysteme unterschiedlich (cifs und smbfs - aber das spielt ja keine Rolle) sind.
Aber ein Soft-Symlink soll es auch tun - so steht es zumindestens in der spärlichen Anleitung.
EDIT: Auf einmal ging es. Ich habe verwendet:
ln -s /share/server/htdocs/shared/library/ZendFramework/bin/zf.sh /usr/bin/zf
Mit freundlichen Grüßen
Innocentus
Ich muss den vollständigen Pfad (/share/server/htdocs/shared/library/ZendFramework/bin/zf.sh) verwenden, damit zf.sh ausgeführt wird.
Scheinbar kann die Shell eine .sh nur mit vollständigem Pfad ausführen - kann ich das irgenwie ändern?
Kopiere ich die zf.sh in den Ordner /usr/bin, dann geht es - allerdings möchte ich genau das vermeiden, weil das nur Ärger macht.
which zf gibt überhaupt nichts aus - nicht einmal eine Zeile. whereis zf gibt aus: zf :
Der Symlink wurde zuvor gesetzt. - Ich kann nur einen Soft-Symlink erstellen, da die Dateisysteme unterschiedlich (cifs und smbfs - aber das spielt ja keine Rolle) sind.
Aber ein Soft-Symlink soll es auch tun - so steht es zumindestens in der spärlichen Anleitung.
EDIT: Auf einmal ging es. Ich habe verwendet:
ln -s /share/server/htdocs/shared/library/ZendFramework/bin/zf.sh /usr/bin/zf
Mit freundlichen Grüßen
Innocentus
Zuletzt geändert von Meillo am 24.01.2010 19:21:02, insgesamt 1-mal geändert.
Grund: So kleine Schrift kann doch niemand lesen.
Grund: So kleine Schrift kann doch niemand lesen.
Re: Bash-Befehl, Symlink & .SH-Skript
Ich tippe mal, du hattest beim ersten Mal
verwendet, statt dem absoluten Pfad. Deshalb ging's nicht.
Code: Alles auswählen
ln -s zf.sh /usr/bin/zf
Use ed once in a while!