GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser la commande Declare dans Linux Bash Shell

Dans cet article, nous verrons à quoi sert le declare commande dans bash et comment l'utiliser. Une déclaration est une commande intégrée bash qui fournit un comportement de type type pour vos scripts.

Si vous avez une expérience préalable dans un langage de programmation tel que Java , C vous savez peut-être ce qu'est un type de système. Malheureusement, bash n'a pas de système de type fort. Avec déclarer commande, vous pouvez obtenir un comportement de type type et vous pouvez définir des attributs pour vos variables.

$ type -a declare

declare is a shell builtin

Nous passerons en revue certaines des fonctionnalités utiles déclarées des offres. Un bon point de départ pour découvrir déclarer soit via la commande help ou la page de manuel 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
...

Comment déclarer le type d'entiers

Pour déclarer une variable de type entier, utilisez -i drapeau. Si vous regardez l'exemple ci-dessous, vous pouvez voir que la variable age est déclarée être un type entier. Lorsque vous essayez d'attribuer des valeurs d'un autre type (chaînes ) vous pouvez vous attendre à ce qu'il renvoie une erreur disant "Pas le bon type " mais ici au lieu de jeter la variable d'erreur sera assignée comme zéro (0 ). Oui, c'est un comportement étrange et pas ce à quoi on s'attend.

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

Comment déclarer des variables en lecture seule

Lecture seule – Il s'agit d'un terme de programmation signifiant qu'une variable est affectée d'une valeur et ne peut jamais être modifiée ni par le programmeur ni par la machine. Il reste le même tout au long du cycle de vie du programme.

Pour rendre votre variable constante (lecture seule ) utilisez le -r drapeau.

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

Une autre méthode pour rendre une variable en lecture seule consiste à utiliser le readonly mot-clé.

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

Conversion des minuscules et des majuscules sous Linux

Lors de l'affectation d'une variable à bash, vous pouvez la convertir de minuscules en majuscules et vice versa en utilisant le -l (minuscule) et -u drapeau (majuscule).

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

Comment déclarer un tableau indexé/associatif

Bash prend en charge deux types de tableaux. Indexé tableaux et associatif déployer. Pour déclarer des tableaux, utilisez -a (Tableau indexé) et -A (tableau associatif) drapeau. Vous pouvez créer un tableau indexé sans utiliser declare mais pour créer un tableau associatif, vous devez utiliser la commande declare avec -A drapeau.

$ 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[@]}

Exporter des variables vers des sous-shells

Si vous avez une certaine expérience avec bash, vous avez peut-être vu des personnes utiliser la commande export pour exporter des variables déclarées vers des sous-shells dans leurs sessions de script ou de shell. Nous pouvons le faire en utilisant déclarer commande aussi.

Pour exporter, vous devez utiliser le -x drapeau et +x supprimera l'attribut de l'exportation.

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

Vérifiez si les attributs sont définis ou non

Nous pouvons vérifier si un attribut (variable ) est défini ou non en utilisant le -p drapeau.

# 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"

Vous verrez deux tirets -- après avoir déclaré le mot-clé. C'est pour afficher le type de la variable comme declare -a (tableau), déclarez -n (nomréf). Si rien n'est déclaré, il affichera simplement -- .

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

declare -a Iarray
declare -A Asarray

Si vous essayez de trouver une variable non déclarée, l'erreur suivante sera renvoyée.

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

Comment vérifier la définition de la fonction

Vous pouvez utiliser le -F et -f flag pour voir si la fonction est déclarée et la définition de la fonction. Je crée une simple fonction hello world.

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

Pour obtenir la définition de la fonction, vous pouvez utiliser le -f drapeau. Si aucun nom de fonction n'est passé, toutes les fonctions chargées seront imprimées et vous pourrez obtenir la définition de votre fonction dans la liste.

$ declare -f hello_world
$ declare -f

Voilà pour cet article. Nous reviendrons très bientôt sur un autre article intéressant.


Linux
  1. Comment utiliser la commande Linux grep

  2. Comment utiliser la commande history sous Linux

  3. Comment utiliser un mot de passe crypté dans le script Linux Bash Shell

  4. Comment utiliser la commande d'écran Linux

  5. Comment utiliser les alias du shell sous Linux

Comment utiliser la commande de date dans les scripts bash sous Linux

Comment utiliser la commande echo dans les scripts Bash sous Linux

Comment utiliser la commande sysctl sous Linux

Comment utiliser la commande d'arrêt de Linux

Comment utiliser grep sous Linux

Comment utiliser Linux Bash Shell dans Windows 10 ?