Je dois définir les variables d'environnement, généralement nous le faisons en
source script.sh
Mais maintenant, je l'automatise pendant le processus de démarrage et il ressemble à la racine par défaut avec sh
Shell. Comment puis-je trouver ce script dans sh
?
La commande dot '.
'est l'équivalent de la commande C Shell (et Bash) source
. Il est spécifié par POSIX (voir dot
), et supporté par les shells Bourne et Korn (et zsh
, je crois).
. somefile
Notez que le Shell recherche le fichier à l'aide de $PATH
, mais le fichier doit seulement être lisible, pas exécutable.
Comme indiqué dans les commentaires ci-dessous, vous pouvez bien sûr spécifier un chemin d'accès relatif ou absolu pour le fichier - tout nom contenant une barre oblique ne sera pas recherché à l'aide de $PATH
. Donc:
. /some/where/somefile
. some/where/somefile
. ./somefile
pourrait tous être utilisés pour trouver somefile
s'il existait dans les trois emplacements spécifiés différents (si vous pouviez remplacer .
avec ls -l
et voir un fichier répertorié).
Les pédants du monde s'unissent! Oui, si le répertoire courant est le répertoire racine, alors /some/where/somefile
et ./some/where/somefile
ferait référence au même fichier - avec le même chemin réel - même sans liens, symboliques ou physiques, jouant un rôle (tout comme ../../some/where/somefile
).