GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il comando Declare in Linux Bash Shell

In questo articolo, esamineremo l'uso della dichiarazione comando in bash e come usarlo. Una dichiarazione è un comando integrato di bash che fornisce un comportamento tipo per i tuoi script.

Se hai precedenti esperienze in qualsiasi linguaggio di programmazione come Java , C potresti sapere cos'è un tipo di sistema. Purtroppo, bash non ha un sistema di tipi forte. Con dichiara comando, puoi ottenere un comportamento simile al tipo e puoi impostare attributi per le tue variabili.

$ type -a declare

declare is a shell builtin

Esamineremo alcune delle utili funzioni dichiara offerte. Un buon punto di partenza per conoscere la dichiarazione è tramite il comando di aiuto o la pagina di manuale di bash.

$ help declare

declare: declare [-aAfFgiIlnrtux] [-p] [name[=value] ...]
    Set variable values and attributes.
    
    Declare variables and give them attributes.  If no NAMEs are given,
    display the attributes and values of all variables.
    
    Options:
      -f	restrict action or display to function names and definitions
      -F	restrict the display to function names only (plus line number and
    		source file when debugging)
      -g	create global variables when used in a shell function; otherwise
    		ignored
      -I	if creating a local variable, inherit the attributes and value
    		of a variable with the same name at a previous scope
      -p	display the attributes and value of each NAME
...

Come dichiarare il tipo di numeri interi

Per dichiarare una variabile di tipo intero usa -i bandiera. Se guardi l'esempio seguente puoi vedere che l'età variabile è dichiarata come un tipo intero. Quando provi ad assegnare valori di un altro tipo (stringhe ) potresti aspettarti che restituisca un errore che dice "Tipo non corretto ” ma qui invece di lanciare la variabile di errore verrà assegnata come zero (0 ). Sì, questo è un comportamento strano e non quello che ci si aspetta.

$ declare -i num=10
$ echo $num
$ num=string     # Reassigning Interger type with string
$ echo $num      ⇒ Zero will be the output

Come dichiarare variabili di sola lettura

Sola lettura – Questo è un termine di programmazione che significa che a una variabile viene assegnato un valore e non può mai essere modificata né dal programmatore né dalla macchina. Rimane lo stesso per tutto il ciclo di vita del programma.

Per rendere costante la tua variabile (sola lettura ) usa il -r bandiera.

$ declare -r num=10
$ num=11
-bash: no: readonly variable

Un metodo alternativo per rendere una variabile di sola lettura consiste nell'utilizzare sola lettura parola chiave.

$ readonly os=ubuntu
$ os=arch
-bash: os: readonly variable

Conversione minuscole e maiuscole in Linux

Quando assegni una variabile a bash puoi convertirla da minuscolo a maiuscolo e viceversa usando il -l (minuscolo) e -u flag (maiuscolo).

$ declare -l name="LINUX"
$ declare -u name1="linux"
$ echo $name $name1

Come dichiarare un array indicizzato/associativo

Bash supporta due tipi di array. Indicizzato array e associativi Vettore. Per dichiarare gli array usa -a (Matrice indicizzata) e -A flag (array associativo). Puoi creare un array indicizzato senza utilizzare dichiara comando ma per creare un array associativo devi usare il comando dichiara con -A bandiera.

$ declare -a os_name=(Ubuntu Mint Kubuntu lubuntu Debian)
$ echo ${os_name[@]}
$ declare -A os_family
$ os_family["Redhat"]="Fedora"
$ os_family["Arch"]="Manjaro"
$ os_family["Debian"]="Ubuntu"
$ echo ${os_family[@]}

Esportazione di variabili in subshell

Se hai una certa esperienza con bash, potresti o vedere persone che usano il comando export per esportare variabili dichiarate in subshell nei loro script o sessioni di shell. Possiamo farlo usando dichiara comando anche.

Per esportare, dovresti usare -x flag e +x flag rimuoverà l'attributo dall'esportazione.

$ declare -x name=ShellTips
$ sh -c “echo $name”

Verifica se gli attributi sono definiti o meno

Possiamo verificare se è un attributo (variabile ) è definito o meno utilizzando il -p bandiera.

# Defining a variable
$ a=10;b=20;c=30
 
# Check if a variable is defined or not
$ declare -p a    # single variable check
declare -- a="10"
 
$ declare -p a b c   # check multiple variables
declare -- a="10"
declare -- b="20"
declare -- c="30"

Vedrai due trattini -- dopo aver dichiarato la parola chiave. Questo serve per visualizzare il tipo di variabile come declar -a (array), dichiara -n (riferimento nome). Se non viene dichiarato nulla, visualizzerà semplicemente -- .

$ declare -a Iarray
$ declare -A arrray
$ declare -p Iarray Asarray

declare -a Iarray
declare -A Asarray

Se provi a trovare una variabile non dichiarata, verrà generato un errore di follow.

$ declare -p Iarray1
-bash: declare: Iarray1: not found

Come verificare la definizione della funzione

Puoi usare il -F e -f flag per vedere se la funzione è dichiarata e la definizione della funzione. Sto creando una semplice funzione Hello World.

$ function hello_world(){ echo "Linux Geeks"; }
$ declare -F

Per ottenere la definizione della funzione puoi usare il -f bandiera. Se non viene passato alcun nome di funzione, verranno stampate tutte le funzioni caricate e potrai ottenere la definizione della tua funzione dall'elenco.

$ declare -f hello_world
$ declare -f

Questo è tutto per questo articolo. Lo scopriremo molto presto con un altro articolo interessante.


Linux
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come utilizzare il comando Uptime in Ubuntu Linux

  4. Come configurare la shell Bash con restrizioni in Linux

  5. Come usare gli alias di shell in Linux

Come utilizzare il comando Date negli script Bash in Linux

Come utilizzare il comando echo negli script Bash in Linux

Come utilizzare il comando sysctl in Linux

Come utilizzare il comando di arresto di Linux

Come usare grep in Linux

Come utilizzare Linux Bash Shell in Windows 10?