J'ai deux fichiers séparés sur mon ordinateur,
which execfile
/usr/local/bin/
/usr/bin/
Donc, j'ai deux fichiers avec le même nom dans deux répertoires différents. Comment puis-je spécifier exactement quelle commande à exécuter?
Merci.
vous pouvez spécifier le chemin complet de la commande lorsque vous l'exécutez, tapez:
/usr/bin/execfile
ou
/usr/local/bin/execfile
pour exécuter le fichier exact sur ce chemin
PATH
variable d'environnement shell.ou
la source
Lors de la tentative d'exécution d'une commande foo , la recherche sur foo est effectuée dans les répertoires spécifiés par la variable d'environnement PATH, dans le même ordre que celui spécifié. Si vous souhaitez éviter cela, tapez le chemin d'accès complet à l'exécutable.
Tapez ceci dans un terminal:
pour voir le contenu de votre variable d’environnement PATH.
Par exemple, si vous voulez toujours exécuter les premiers exécutables dans / bin, assurez-vous que / bin vient en premier dans $ PATH. Vous pouvez spécifier PATH dans le fichier .profile de votre répertoire personnel. Donc pour l'exemple ci-dessus, éditez le fichier et mettez cette ligne à la fin:
Cela ne fonctionnera que pour votre utilisateur. Si vous souhaitez spécifier $ PATH de manière globale (cela fonctionnera pour tous les utilisateurs sauf ceux qui le changent dans leur fichier .profile), ajoutez la même ligne ci-dessus dans le fichier / etc / profile (vous aurez besoin des privilèges root .)
Rappelez-vous également que les fichiers de profil ne sont initialement analysés. Cela signifie que si vous éditez votre fichier .profile personnel, vous devrez demander à votre shell de le ré-analyser. Vous pouvez faire ceci en vous déconnectant et en vous reconnectant ou en tapant autrement:
Pour le changement à l'échelle du système, tapez
Cela fera que votre session shell actuelle ré-analysera le fichier de profil. Si vous voulez que votre système complètement amorcé le réanalyse, je pense que vous feriez mieux de redémarrer votre session.
Rappelez-vous également que cela peut changer si vous utilisez un shell autre que bash.
Vous pouvez trouver des informations intéressantes dans la page de manuel de bash: http://linux.die.net/man/1/bash
Voir la section "Exécution de la commande".
la source
Ecrivez un alias dans ~ / .profile:
Après la prochaine connexion, la bonne version sera choisie automatiquement. Commencez les autres avec le chemin complet.
la source
vérifiez également que s'ils appartiennent tous les deux au même fichier - comme s'il s'agissait d'un lien
et vérifier si elles sont liées ensemble
si elles sont liées, alors vous pouvez exécuter n'importe quelle différence, sinon vous devez spécifier le chemin complet
la source
ls -li /usr/bin/execfile /usr/local/bin/execfile
et comparez leurs numéros d’inodes.la source