Bash - $ PATH e $ {PATH}
-
06-07-2019 - |
Domanda
Qual è la differenza tra l'utilizzo di una variabile d'ambiente, come PATH, come $ PATH o $ {PATH}?
Soluzione
Non c'è differenza nella maggior parte dei casi. Le uniche volte che contano sono se si desidera includere il testo finale dopo l'espansione. Ad esempio, supponiamo che il tuo PATH
contenesse la stringa FOO
(in realtà non è un percorso valido, ma questo è per un esempio), e che volevi formare la stringa FOOBAR
. Se lo hai fatto
$PATHBAR
Otterresti l'espansione della variabile denominata PATHBAR
, che probabilmente non è quello che volevi. Se lo hai fatto
$PATH BAR
Otterresti uno spazio tra FOO
e BAR
, anche se non quello che volevi. La soluzione è utilizzare le parentesi graffe:
${PATH}BAR
Questo ti dà FOOBAR
.
Altri suggerimenti
PATH
è il nome della variabile d'ambiente, $ PATH
e $ {PATH}
sono metodi per accedervi. Il modulo $ {PATH}
è usato per consentire costrutti come echo $ {PATH} b
che fallirebbero usando $ PATHb
. Inoltre, bash
consente molte cose di sostituzione dei parametri che la man page ti dirà volentieri di più.
Nel tuo caso non c'è alcuna differenza, ma - considera la situazione: hai due variabili:
$FOO = "YA"
$YADA = "bar"
quindi $ {$ FOODA}
non ti darà nulla mentre $ {$ {FOO} DA}
ti darà " bar "