Bash-Befehl, Symlink & .SH-Skript

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Innocentus
Beiträge: 263
Registriert: 08.03.2009 16:14:08

Bash-Befehl, Symlink & .SH-Skript

Beitrag von Innocentus » 24.01.2010 16:23:17

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

Benutzeravatar
Meillo
Moderator
Beiträge: 9281
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Bash-Befehl, Symlink & .SH-Skript

Beitrag von Meillo » 24.01.2010 17:41:21

Wenn ein ``command not found'', dann solltest du deinen Pfad prüfen.

Code: Alles auswählen

echo $PATH
`which zf' bzw. `whereis zf' können ebenfalls helfen.


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!

Innocentus
Beiträge: 263
Registriert: 08.03.2009 16:14:08

Re: Bash-Befehl, Symlink & .SH-Skript

Beitrag von Innocentus » 24.01.2010 19:03:23

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
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.

Benutzeravatar
Meillo
Moderator
Beiträge: 9281
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Bash-Befehl, Symlink & .SH-Skript

Beitrag von Meillo » 24.01.2010 19:22:57

Ich tippe mal, du hattest beim ersten Mal

Code: Alles auswählen

ln -s zf.sh /usr/bin/zf
verwendet, statt dem absoluten Pfad. Deshalb ging's nicht.
Use ed once in a while!

Antworten