GNU/Linux >> Linux Esercitazione >  >> Linux

Come reperire una variabile specifica

È possibile definire l'ambito delle variabili utilizzando le funzioni. Esempio:

## Provider.sh
# Global vars
declare -A map

# Wrap the rest of Provider.sh in a function

provider() {

    # Local vars only available in this function
    declare a=hello b=world c d


    # Global vars are available
    map[hello]=world

}

provider "[email protected]"    # Execute function, pass on any positional parameters

# Remove function
unset -f provider
$ cat Consumer.sh
. ./Provider.sh
echo "${map[hello]}"
echo "$a"
$ bash -x Consumer.sh
+ . ./Provider.sh
++ declare -A map
++ provider
++ declare a=hello b=world c d
++ map[hello]=world
++ unset -f provider
+ echo world
world
+ echo ''


Puoi usare una funzione e rendere le variabili locali o globali:

#!/bin/bash

foo() {
  declare -gA MAP # make global
  local A=hello # make local
  local B=world # make local
  MAP[hello]=world
}

foo

Quindi:

#!/bin/bash
source ./Provider.sh
[[ -z "$A" ]] && echo "Variable A not defined"
[[ -z "$B" ]] && echo "Variable B not defined"
echo ${MAP[hello]}

Uscita:

Variable A not defined
Variable B not defined
world

Linux
  1. Come eseguire un comando memorizzato in una variabile?

  2. Come differire l'espansione variabile?

  3. Come scegliere un provider VPS WordPress

  4. Come impostare la variabile $ Path in Linux

  5. Come posso collegarmi a una versione specifica di glibc?

Come installare Maven su Windows

Come installare il software dal sorgente in Linux

Come impostare la variabile d'ambiente in Bash

Come eseguire il ping di un numero di porta specifico

Cos'è BusyBox in Linux? Come usarlo?

Come aggiungere un'origine dati a Redash