Existe-t-il un équivalent SH de __FILE__
, pour me donner le chemin du fichier en cours d'exécution? Les solutions POSIX préférées, bash acceptable, merci.sh équivalent de __FILE__
Répondre
Essayez d'utiliser $0
.
Ceci n'est pas équivalent à '__FILE__' si vous le faites dans un fichier provenant d'un autre fichier . – mxcl
que diriez-vous de "quel $ 0"? –
Juste une pensée:
#!/usr/bin/env bash
# "$0" will expand to the name of the script, as called from the command line
readlink -f $0
Cela sera incorrect si le script est appelé via la variable $ PATH. –
Toujours (voir modifier)? – miku
Notez que 'readlink' n'est pas entièrement portable. OSX (et vraisemblablement BSD en général?) Ont une version complètement différente - où '-f' n'est pas supporté. Plutôt, où '-f' signifie quelque chose de différent (et pas utile ici). – Telemachus
Pour une solution de script bash
double possible de [peut un script Bash dire ce répertoire dans lequel il est stocké dans?] (Http: // stackoverflow .com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in) – rightfold