Est-ce que quelqu'un peut donner un exemple où declare -x serait utile?Comment utiliser declare -x dans bash
Répondre
declare -x FOO
est la même que export FOO
. Il "exporte" la variable FOO
en tant que variable d'environnement, de sorte que les programmes que vous exécutez à partir de cette session shell le voient.
Déclare -x peut être utilisé à la place d'eval pour permettre de définir des variables en tant qu'arguments du shell. Par exemple, vous pouvez remplacer le très précaire:
# THIS IS NOT SAFE while test $# -gt 0; do eval export $1 shift done
avec le plus sûr:
while test $# -gt 0; do declare -x $1 shift done
En aparté, cette construction permet à l'utilisateur d'appeler le script comme:
$ ./test-script foo=bar
plutôt que le plus idiomatique (mais déroutant à certains):
$ foo=bar ./test-script
Merci. Mais comment est la première option non sécurisée? – abc
Chaque fois que vous évaluez une chaîne, vous donnez à l'utilisateur qui peut construire la chaîne la possibilité de faire quoi que ce soit au script. –
- 1. bash documentation -declare
- 2. Que fait si ["x"! = X] dans bash?
- 3. declare label dans mvc
- 4. Oracle: Erreur dans Declare
- 5. OS X bash: dirname
- 6. Comment utiliser les tableaux globaux dans bash?
- 7. comment utiliser wireshark dans un script bash
- 8. Comment utiliser not (!) Entre parenthèses dans Bash?
- 9. Comment utiliser la référence arrière dans Bash
- 10. Utilisez/bin/bash pour% x dans Ruby
- 11. Declare Cursor dynamiquement
- 12. Quels sont les avantages d'utiliser "declare -a" pour déclarer des tableaux dans bash?
- 13. Matlab Declare Array
- 14. Comment utiliser initialiser dans CakePHP 2.X
- 15. Comment utiliser -X: Frames dans Ironpython?
- 16. Comment utiliser Prototype.js dans DNN 6.x?
- 17. variable Declare en C#
- 18. utiliser bash compte chaque occurrence de mot dans un fichier
- 19. comment utiliser l'opérateur binaire bash 4.2
- 20. Structure de contrôle PHP: Declare()
- 21. Impossible d'avoir C-x-e semblable à Bash dans Zsh
- 22. Declare Voir Swing en XML
- 23. Bash workingdirectory utiliser comme variable
- 24. Bash jeu + x sans qu'il soit imprimé
- 25. Bash: fonctions d'exportation à utiliser dans xarg
- 26. declare Array adaptateur dans la classe de non-activité à utiliser dans le fragment
- 27. Comment faire AWK utiliser la variable créée dans Bash Script
- 28. Comment utiliser un numéro d'argument variable dans un script bash?
- 29. Comment utiliser les variables bash dans un code Python?
- 30. Comment utiliser HTTP pour serveur FTP dans Bash?
Je ne pense pas qu'ils soient des synonymes exacts. –
Non? Alors pourquoi est-ce que quand vous lancez 'export' (sans arguments), il imprime les exportations en cours en utilisant' declare -x'? –
Je ne suis pas sûr, mais voir [cette question] (http://stackoverflow.com/q/7506644/834176). Je l'ai essayé et ils agissent différemment. –