Quelle est la différence entre l'utilisation d'une variable d'environnement, telle que PATH, comme $ PATH ou $ {PATH}?
Répondre
Il n'y a pas de différence dans la plupart des cas. Les seules fois où cela est important, c'est si vous voulez inclure du texte final après l'expansion. Par exemple, supposons que votre PATH
contenait la chaîne FOO
(pas réellement un chemin valide, mais ceci est un exemple), et que vous vouliez former la chaîne FOOBAR
. Si vous avez
$PATHBAR
Vous obtiendrez l'expansion de la variable nommée PATHBAR
, ce qui est probablement pas ce que vous vouliez. Si vous avez
$PATH BAR
Vous obtiendrez un espace entre FOO
et BAR
, pas non plus ce que vous vouliez. La solution consiste à utiliser des accolades:
${PATH}BAR
Cela vous donne FOOBAR
.
PATH
est le nom de la variable d'environnement, $PATH
et ${PATH}
sont des méthodes d'accès. Le formulaire ${PATH}
est utilisé pour autoriser des constructions comme echo ${PATH}b
qui échoueraient en utilisant $PATHb
. En outre, bash
permet beaucoup de choses de remplacement de paramètres dont le man page vous en dira volontiers plus au sujet de.
Dans votre cas, il n'y a pas de différence, mais - prendre la situation: Vous avez deux variables:
$FOO = "YA"
$YADA = "bar"
alors ${$FOODA}
va vous rien en ${${FOO}DA}
vous donnera donner « bar »
'$ FOO = "YA"' est incorrect - il ne fait pas ce que vous pensez qu'il fait. Vous devez faire 'FOO - = "YA"' –
Non, $ {$ {FOO} DA} vous donnera une erreur de syntaxe, mais eval '$' {$ {FOO} DA} donnera le contenu de $ YADA. ..si vous attribuez à FOO correctement. –
- 1. bash/cygwin/$ PATH: Dois-je vraiment redémarrer pour modifier $ PATH?
- 2. PATH et l'utilisation programmatique?
- 3. Java Class Path
- 4. HttpHandler Path Problème ASP.NET
- 5. Joomla css path
- 6. Response.Redirect using ~ Path
- 7. % ~ $ PATH: 1 numéro d'extension
- 8. .Net DirectoryInfo path
- 9. set tomcat path
- 10. Textmate ne pas ramasser PATH
- 11. Apache ant manifeste class-path?
- 12. Unix: Obtenir PATH Exporter vers « Stick »
- 13. Encode unc path pour firefox dans ASP.NET
- 14. où est $ PATH défini dans xcode?
- 15. Solution Visual Studio variable d'environnement Path
- 16. « Propriété « Path » n'a pas de valeur »
- 17. os.path.exists() pour les fichiers de votre Path?
- 18. Windows Powershell & visual studio '08 path
- 19. OS X Problèmes d'installation de Ruby on Rails PATH
- 20. sudo utilisant PATH avant le fichier exécutable complet
- 21. Puis-je utiliser des unités mixtes avec l'élément 'path'?
- 22. Corriger le format d'un en-tête Return-Path
- 23. Comment puis-je exclure la propriété Path de l'indexation?
- 24. Quelle est la source des requêtes/path/(null)?
- 25. SQL Server 'FOR XML PATH' dans PHP/MySQL
- 26. Impossible de raccourcir un PATH de Prompt spécifique dans zsh
- 27. Comment ajouter mon programme à PATH dans Windows .NET?
- 28. Traitement des résultats de la procédure stockée FOR XML PATH
- 29. Exécuter "echo $ PATH" à partir d'un programme c?
- 30. Path est pas un chemin d'accès virtuel valide
ce que fait le 'b' après' $ {PATH} 'veut dire? – mk12
Il mettra un "b" littéral après PATH au lieu d'accéder à une variable d'environnement nommée PATHb. Essayez-le vous-même. –