Bash - $ PATH et $ {PATH}
-
06-07-2019 - |
Question
Quelle est la différence entre l'utilisation d'une variable d'environnement, telle que PATH, sous la forme $ PATH ou $ {PATH}?
La solution
Il n'y a pas de différence dans la plupart des cas. Si vous souhaitez inclure du texte de fin après l’extension est le seul cas. Par exemple, supposons que votre PATH
contienne la chaîne FOO
(ce n'est pas un chemin d'accès valide, mais il s'agit d'un exemple) et que vous souhaitiez former la chaîne FOOBAR
. Si vous avez fait
$PATHBAR
Vous obtiendrez l’extension de la variable nommée PATHBAR
, ce qui n’est probablement pas ce que vous souhaitiez. Si vous avez fait
$PATH BAR
Vous obtiendrez un espace entre FOO
et BAR
, également pas ce que vous souhaitiez. La solution consiste à utiliser des accolades:
${PATH}BAR
Ceci vous donne FOOBAR
.
Autres conseils
PATH
est le nom de la variable d'environnement, $ PATH
et $ {PATH}
sont des méthodes pour y accéder. Le formulaire $ {PATH}
est utilisé pour autoriser des constructions telles que echo $ {PATH} b
qui échoueraient avec $ PATHb
. De même, bash
autorise beaucoup de choses de remplacement de paramètres dont la page de manuel se fera un plaisir de vous en dire plus sur.
Dans votre cas, il n'y a pas de différence, mais - prenons la situation suivante: vous avez deux variables:
$FOO = "YA"
$YADA = "bar"
alors $ {$ FOODA}
ne vous donnera rien, tandis que $ {$ {FOO} DA}
vous donnera "bar".