2016-02-10 44 views
14

E 'possibile aggiungere una variabile in Bash a export, quindi in seguito esportarla, senza doverla annullare completamente? Cioè è ancora disponibile per la shell corrente, ma non per i processi secondari.Bash ha un modo per annullare l'esportazione di una variabile senza disattivarla?

si può sempre fare questo, ma è brutto (e io sono curioso):

export FOO 

#... 

_FOO=$FOO 
unset FOO 
FOO=$_FOO 

risposte su altre shell anche accettato.

+3

Il [ 'dash' pagina di manuale] (http://linux.die.net/man/1/dash) afferma esplicitamente: *" l'unico modo per non-esportare una variabile è impostata a it. "* – tripleee

+0

Per quanto riguarda le altre shell: http://stackoverflow.com/q/33395668/1126841 – chepner

risposta

15
export -n FOO 

Da help export:

Opzioni:

  • -f riferiscono a sborsare funzioni
  • -n rimuovere la proprietà di esportazione da ogni NOME
  • -p visualizzare un elenco di tutte le esportato variabili e f unzioni