Non limité à Linux, il n'est pas nécessaire d'écrire le chemin complet lors de l'exécution d'une commande car les informations de ce chemin sont stockées dans PATH. Par exemple, lors de l'arrêt de Linux, vous pouvez écrire shutdown -h now
au lieu de / usr / sbin / shutdown -h now
car/ usr / sbin /
est enregistré dans votre PATH. est.
Procédez comme suit:
echo $PATH
Résultat de l'exécution:
Dans mon cas, c'est parce que je me suis trompé. Vous pouvez enregistrer autant de PATH que vous le souhaitez, et ils sont séparés par :
.
Par exemple, CentOS 7 a par défaut python 2.7
. Si vous exécutez python --version
, vous obtiendrez les informations de version.
Supposons maintenant que vous frappiez la nouvelle commande suivante et que vous utilisiez Red Hut Enterprise Linux
pour supprimer python 3.6
.
sudo yum -y install centos-release-scl;
sudo yum -y install rh-python36;
sudo scl enable rh-python36 bash;
Quand j'exécute python --version
après cela, je vois python 3.6
, mais quand je recharge le chemin par l'opération Vagrant etc., il revient à l'original. Ceci est dû au fait que «python 3.6» déposé par «Red Hut Enterprise Linux» passe à «/ opt / rh / rh-python36 / root / bin /» au lieu d'aller à «/ usr / bin». Sauf si vous enregistrez ce / opt / rh / rh-python36 / root / bin /
dans votre PATH et supprimez le python2.7
dans / usr / bin
, vous ne pourrez pas mettre à jour le python
proprement. .. Au fait, vous pouvez trouver le chemin de python
référencé par Linux avec la commande suivante.
which python
Ce "qui", pas seulement "python", vous indique le chemin réel de la commande référencée par Linux.
Lors de la suppression d'une ancienne version d'un programme, telle que python2.7
, il est préférable de la renommer avec la commande mv
et de la mettre de côté, plutôt que de la supprimer avec la commande rm
. Vous trouverez ci-dessous la commande lors de la prise de l'exemple Python.
sudo mv /usr/bin/python2.7 /usr/bin/python2.7_old
Linux peut désormais enregistrer Python 2.7.
Je pense qu'il y en a plusieurs, mais mon préféré est d'utiliser la commande source
pour importer un fichier appelé ~ / .bash_profile
. Il y a des informations PATH dans ~ / .bash_profile
, et l'enregistrement PATH se fait en exécutant source ~ / .bash_profile
. Notez la personne qui fait cela dans le script shell, mais vous devez spécifier dans le script où se trouve ce ~
. En effet, la partie ~
est différente entre l'utilisateur root et l'utilisateur général (voir vidéo).
Quand j'ai mis un shell dans Vagrantfile
et que je l'ai exécuté, je ne savais pas à quelle direction ~
faisait face (quand j'ai fait provision vagrant
, l'utilisateur exécutant était vagrant
, mais~
était` / root / Il semblait regarder sur le côté), alors je l'ai spécifié.
En conséquence, j'ai lu le PATH avec la commande suivante.
#/home/vagrant/.bash_Définir les informations PATH dans le profil
echo "export PATH="/opt/rh/rh-python36/root/bin:/usr/bin:/usr/sbin"" >> /home/vagrant/.bash_profile;
#Enregistrer les informations PATH
source /home/vagrant/.bash_profile;
Si vous conservez les étapes ci-dessus, vous pouvez mettre à niveau n'importe quel logiciel sans aucun problème. J'ai pu mettre à jour «sqlite 3.2» vers «sqlite 3.29» avec la même approche.
https://teratail.com/questions/50308 https://qiita.com/nito128/items/e91e8510c882a7f24768