J'ai 2 versions de curl installées sur mon système, une avec le support http2.
Je pensais que je pourrais utiliser which
pour indiquer le binaire, mais cela ne semble pas fonctionner comme prévu.
$ curl --http2 -I https://something.example.com
curl: (1) Unsupported protocol
$ which curl
/usr/local/bin/curl
$ /usr/local/bin/curl --http2 -I https://something.example.com
HTTP/2 200
server: nginx/1.10.0 (Ubuntu)
date: Thu, 08 Jun 2017 20:55:09 GMT
content-length: 928
last-modified: Thu, 08 Jun 2017 19:43:10 GMT
cache-control: public, max-age=31536000
accept-ranges: bytes
which
pointe vers mon binaire construit localement /usr/local/bin/curl
mais la commande actuelle exécute le paquet binaire /usr/bin/curl
Je n'ai pas d'alias pour curl, alors quelqu'un peut-il m'expliquer pourquoi c'est le cas? Et quelle commande devrais-je exécuter pour trouver le chemin réel de curl, que je connais est /usr/bin/curl
Si vous courez:
echo $PATH
Vous allez obtenir quelque chose de similaire à:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Comme vous pouvez le constater, /usr/local/bin
a une priorité plus élevée. Ainsi, bash localisera d’abord votre version de curl installée localement et cessera d’en chercher.
Vous pouvez modifier ce comportement en modifiant la variable d’environnement PATH
, par exemple (dans .profile
):
PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/usr/local/bin