$PATH / Ausführen von Scripten

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

peterhoffmann

Benutzer
Sehr erfahren
Registriert
17. Dez. 2014
Beiträge
6.057
Reaktionspunkte
1.858
Punkte
254
Hallo,

ich bin Linuxanfänger, würde mich aber eher als Bastler einstufen. ;)

Ich bewege mich auf der DS oft und gerne über die Konsole statt Klickibunti über das DSM oder SMB.
Wenn ich nun ein Script von mir starten will, muss ich immer erst mühselig ins Verzeichnis (/volume1/synology/scripte) wechseln bzw. im Aufruf den Pfad miteinbauen. Etwas nervig.

Kann ich das eleganter lösen?

Ich habe gelesen, dass unter gewissen Pfaden die Scripte immer ohne Pfadaufruf gefunden und ausgeführt werden.
Der folgende Aufruf
Rich (BBCode):
echo $PATH
bringt folgendes Ergebnis:
Rich (BBCode):
/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin

Sollte ich nun meine Scripte eher unter einem dieser Pfade setzen, wenn ja unter welchem?
Oder kann ich da gefahrlos einen Pfad hinzufügen, wo all meine Scripte liegen? Wenn ja, wie?
 
Die kannst den Pfad problemlos ergänzen, entweder für alle Benutzer über /etc/profile oder für einen Benutzer in der ~/.profile.
Füg einfach am Ende folgende Zeilen hinzu
Code:
PATH=$PATH:<WeitereVerzeichnisseDurchDoppelpunktGetrennt>
export PATH
Nach jedem DSM-Update solltest du aber prüfen, ob deine Änderung erhalten geblieben ist. /etc/profile wird in der Regel überschrieben.
Ausserdem zu beachten: Bei Cron-Jobs wird /etc/profile und ~./profile nicht durchlaufen. Also besser alle benötigten Pfadeinstellungen mit ins Script aufnehmen.
Auch noch zu beachten: Anders als bei Windows wird aktuelle Verzeichnis (cd ...) nicht automatisch auch durchsucht, wenn es nicht Bestandteil des Pfads ist. Daher ":.:" mit in den Pfad aufnehmen (Vorsicht, nicht beim root) oder Scripte mit "./<scriptname>" aufrufen. Eine Textdatei wird auch nicht dadurch zum Script, das sie .bat., .cmd, .sh oder sonstwie heißt, sondern dadurch, dass man ihr x-Rechte gibt (chmod 755 ... z.B.).
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat