Domanda

Qual è la differenza tra l'utilizzo di una variabile d'ambiente, come PATH, come $ PATH o $ {PATH}?

È stato utile?

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 "

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top