Sto guardando attraverso il codice di qualcun altro e non sono sicuro di cosa significhi. O è una chiamata variabile VARIABLE+set
che è uno strano nome di variabile dal momento che è ha un +
, o si viene valutata ed è difficile da Google perché ha $ {} in esso;)
risposta
C'è voluto ancora del tempo, ma io trovato un link spiegando cosa fa. È una forma di sostituzione di parametro bash che verrà valutata a "set"
se $VARIABLE
è stato impostato e null in caso contrario. Questo consente di controllare se una variabile è impostata nel modo seguente:
if [ -z "${VARIABLE+set}" ] ; then
echo "VARIABLE is not set"
fi
E 'anche interessante notare che ${VARIABLE+set}
può benissimo essere ${VARIABLE+anything}
. L'unica ragione per usare + set è perché è leggermente più autodocumentante (anche se non abbastanza da impedirmi di fare questa domanda).
BTW, questa non è solo una caratteristica bash, è parte dello standard POSIX per i linguaggi di comando della shell: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02 –
E disponibile praticamente dal inizio di shell unix, ovvero Bourne Shell. – shellter
- 1. Cosa significa/p in set/p?
- 2. : set di variabili ma non utilizzato [-Wunused-ma-set-variable]
- 3. SSI #set variable e #echo issue
- 4. Cosa significa (+ var) significa
- 5. cosa significa ** in C
- 6. Cosa significa Field.Index.NOT_ANALYZED_NO_NORMS significa
- 7. Cosa significa: significa?
- 8. Cosa significa '::' significa?
- 9. Cosa significa/#!/Significa nell'URL?
- 10. javascript: cosa significa/* @ @ */significa?
- 11. Cosa significa || = significa?
- 12. Cosa significa require ('../') significa?
- 13. Cosa significa questo avviso Valgrind? - warning set range address perms
- 14. In MySQL, cosa significa?/*! 40100 default Carattere SET latin1 */
- 15. Che cosa significa montare "working set" nella RAM per MongoDB?
- 16. Che cosa significa | 5E | significa in Common Lisp?
- 17. Cosa significa?
- 18. Cosa significa {}?
- 19. Cosa significa: = significa quando usato in pseudocodice?
- 20. Cosa significa || = significa in Ruby?
- 21. Cosa significa il prefisso: significa
- 22. Cosa significa xmlns = "" significa esattamente
- 23. cosa significa "@" significa in C#
- 24. Cosa significa/*! */Significa in C#?
- 25. Cosa significa: :: significa in C++?
- 26. Cosa significa = ~ significa in Perl
- 27. Cosa significa "??" significa in C#?
- 28. Groovy, cosa significa -> significa
- 29. Cosa significa! */Significa in .gitignore
- 30. Cosa significa node() | @ * significa XSLT?
Questa notazione è spesso utilizzata negli script di configurazione generati da GNU Autoconf. – anol