J'ai rencontré un code lors de l'installation de Ruby sur Ubuntu sur ce site.
#Ajouter un chemin
$ echo 'export PATH="
#Ajout du script d'initialisation rbenv $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
Qu'est-ce que c'est que ça ...
Au début, j'ai pensé, mais en faisant des recherches, je l'ai compris dans une certaine mesure, je vais donc le résumer dans un article pour ne pas l'oublier.
Si vous faites une erreur, merci de me le faire savoir dans les commentaires.
# À propos de l'écho
Tout d'abord, parlons de la commande ʻecho`. Veuillez voir [ici](https://eng-entrance.com/linux-command-echo) pour une explication détaillée de ʻecho`. Il y a trois façons d'utiliser ʻecho` utilisées dans la première commande que j'ai écrite.
>```sh
#Ajoutez une chaîne de caractères au fichier.
$chaîne d'écho>>nom de fichier
># 「$Affichez la chaîne "variable".
$ echo '$variable'
># 「$Affichez le contenu d'une variable appelée "Variable".
$ echo "$variable"
Revenez maintenant au premier code.
$ echo 'export PATH="
Les deux commandes ont la forme ʻecho string >> ~ / .bash_profile`.
En d'autres termes, j'ajoute la chaîne à un fichier appelé .bash_profile dans mon répertoire personnel. Ce .bash_profile sera expliqué plus tard.
Concernant le contenu de la chaîne, `` export PATH = "$ HOME / .rbenv / bin: $ PATH" '`, export est une commande qui permet de définir des variables d'environnement. Autrement dit, il définit la variable d'environnement `PATH` sur la valeur`" $ HOME / .rbenv / bin: $ PATH "`. Nous discuterons également des variables d'environnement plus tard.
De même, le contenu de la chaîne de caractères est `` 'eval "$ (rbenv init-)"' `, mais eval est une commande qui concatène la chaîne de caractères spécifiée après évaluation et oblige le shell actuel à l'exécuter. [Jetez un œil à ceci. En fait, je ne savais pas grand-chose sur eval, alors je vais essayer d'en savoir un peu plus.
Dans mon interprétation, cette commande amène le shell à exécuter la commande `rbenv init -`.
## À propos de .bash_profile
Le .bash_profile qui est sorti plus tôt, mais [cet article](https://neos21.hatenablog.com/entry/2017/02/12/142817) est facile à comprendre.
Pour résumer brièvement, bash_profile est un fichier qui ne s'exécute qu'une seule fois à la connexion.
Considérant cela avec l'histoire précédente
>```sh
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
Signifie de définir $ HOME / .rbenv / bin: $ PATH
dans PATH
une seule fois à la connexion et d'exécuter rbenv init -
Ensuite, parlons de ce que signifie «passer». En conclusion, «passer par» signifie
Modifiez la description de la variable d'environnement ($ PATH) et ajoutez le chemin de recherche de la commande.
Extrait de ce site. Veuillez le lire car il contient une description très détaillée du «passage».
Pour revenir à l'histoire, les variables d'environnement sont des variables stockées sur votre ordinateur. Vous pouvez vérifier les variables d'environnement avec la commande suivante.
Le nom de la variable d'environnement printenv
#Si aucun argument n'est ajouté après printenv, toutes les variables d'environnement seront affichées. printenv
Lorsque vous exécutez `printenv`, les variables d'environnement sont affichées dans une ligne et vous pouvez y voir la variable d'environnement appelée` PATH`.
Le rôle joué par ce `PATH` est qu'il indique au shell (terminal) où se trouvent les fichiers exécutables.
Par exemple, dans la commande `printenv` qui est sortie plus tôt, le shell fait référence au fichier exécutable` / usr / bin / printenv`. Par conséquent, les deux suivants sont la même commande.
>```sh
$ /usr/bin/printenv
$ printenv
La raison pour laquelle / usr / bin
peut être omis à ce moment est que cela est décrit dans PATH
.
Lorsque vous exécutez printenv PATH
, il sera décrit comme / home / [nom d'utilisateur] / bin: ...
. En effet, les chemins sont séparés par: et l'emplacement du fichier exécutable est recherché à partir du premier chemin.
Jetons un coup d'œil à la première commande que nous avons écrite ici.
$ echo 'export PATH="
Je vous ai dit que cette commande définit la valeur `$ HOME / .rbenv / bin: $ PATH` dans` PATH`. Ici, `$ HOME / .rbenv / bin: $ PATH` est entouré de" ", donc` $ HOME` et` $ PATH` font référence aux valeurs des variables d'environnement. La valeur de `$ HOME` est` / home / [nom d'utilisateur] ʻdans mon cas, et` PATH` est` / home / [nom d'utilisateur] / bin: ... `comme avant.
Autrement dit, la valeur de `$ PATH` définie par ʻexport PATH =" $ HOME / .rbenv / bin: $ PATH "` est `/ home / [nom d'utilisateur] /. Rbenv / bin: / home / [nom d'utilisateur] / bin: ・ ・ ・ `. Cela permettra au shell de référencer le fichier exécutable situé dans `/ home / [nom d'utilisateur] /. Rbenv / bin`.
# finalement
Non, c'était long. Au début, je pensais que c'était un gâchis, comme passer par un chemin ou .bash_profile, mais quand je l'ai recherché, c'était étonnamment intéressant à comprendre. Maintenant que l'environnement des rails est en place, je voudrais résumer ce que j'ai appris des rails.