Was ist der beste Weg, um ein Skript auszuführen, wenn Sie in ein Verzeichnis eintreten?
Wenn ich in ein neues Verzeichnis wechsle, möchte ich, dass Bash das Skript projectSettings.bash ausführt, ähnlich wie RVM.
bash
shell-script
cd-command
MageProspero
quelle
quelle
Antworten:
Sie können
cd
eine Funktion (undpop
undpushd
) erstellen und erkennen lassen, ob Sie dieses bestimmte Verzeichnis betreten.Tun Sie dies nicht in Verzeichnissen, die Sie nicht auf die Whitelist gesetzt haben, da es für jemanden sehr einfach wäre, Sie zum Ausführen von beliebigem Code zu verleiten. Senden Sie ein Archiv, entpacken Sie es, wechseln Sie in das erstellte Verzeichnis und Führen Sie jetzt den Code des Angreifers aus.
Ich empfehle diesen Ansatz nicht, da er bedeutet, dass das Skript ausgeführt wird, selbst wenn Sie dieses Verzeichnis aus einem Grund eingeben, der nichts mit der Arbeit am Projekt zu tun hat. Ich schlage vor, über eine bestimmte Funktion zu verfügen, die sich im Projektverzeichnis ändert und das Einstellungsskript als Quelle verwendet.
quelle
cd
und es gibt ohne Zweifel einen besseren Weg. Sogar mit $ PROMPT_COMMAND ist besser!if [ -z $MYSETTINGS ] ; then export MYSETTINGS=1 ; echo your settings here ; fi
. Dies dient zur Vermeidung von Problemen, falls Sie eine Initialisierung mit PATH = / mytools / bin: $ PATH durchführen.direnv könnte das sein, wonach du suchst.
Hier ist ein Beispiel aus der offiziellen Dokumentation:
quelle