J'ai XAMPP installé dans OSX, et par défaut il ajoute le chemin de son propre bin
répertoire (plein de divers utilitaires) à ma $PATH
variable:
# Add path to XAMPP PHP version
export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"
Plutôt malheureusement, un de ses utilitaires est appelé HEAD
, qui, grâce au système de fichiers insensible à la casse d'OSX, entre en collision avec la head
commande Unix . XAMPP HEAD
n'a aucun rapport avec head
(je pense qu'il émet une requête HTTP HEAD).
Bien sûr, je veux utiliser les deux head
et XAMPP, j'ai donc simplement changé l'ordre des variables de chemin:
export PATH="$PATH:$XAMPP_PHP"
Cela me permet d'utiliser head
, mais maintenant il y a une collision entre la version de XAMPP de PHP (par exemple, 5.5) et la version préinstallée de PHP fournie avec OSX (5.3). Puisque le chemin vers 5.3 vient en premier, il finit par avoir la priorité.
Mon plan pour une solution piratée consistait à ajouter le chemin complet du fichier + le nom uniquement à la version de XAMPP de PHP , puis à ajouter le reste du chemin après $PATH
:
export PATH="/Applications/XAMPP/xamppfiles/bin/php:$PATH:$XAMPP_PHP"
Ça n'a pas l'air de fonctionner. Quand je redémarre bash et vérifie php -v
, c'est toujours sur PHP 5.3 - la version intégrée. Est-il même possible d'ajouter un chemin de fichier spécifique $PATH
?
$PATH
peut comprendre que des répertoires. Vous pouvez simplement créer un lien symbolique vers l'exécutable particulier que vous souhaitez dans un répertoire existant de votre$PATH
.Réponses:
En supposant que cela
echo "$PATH"
apparaisse/usr/local/bin
sur votre chemin, et étant donné qu'il s'agit de votre ordinateur portable personnel:Créez un lien symbolique
/usr/local/bin
qui pointe vers l'exécutable souhaité.S'il s'agit d'un ordinateur partagé et que vous ne souhaitez pas affecter d'autres utilisateurs, je vous recommande de configurer une extension personnalisée pour votre PATH dans
~/.bash_profile
. J'en ai un moi-même:Ensuite, je peux mettre mes liens symboliques personnalisés, scripts, etc. dans
~/.bin
et ils fonctionneront comme prévu (sans remplacer les commandes système qui existent plus tôt dans mon PATH).J'ai mis le
.
au début de.bin
donc je n'ai pas besoin de voir le répertoire lors de la navigation dans le Finder.la source