GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar el comando Declare en Linux Bash Shell

En este artículo, veremos cuál es el uso de declare comando en bash y cómo usarlo. Una declaración es un comando integrado de bash que proporciona un comportamiento tipográfico para sus scripts.

Si tiene experiencia previa en algún lenguaje de programación como Java , C usted puede saber lo que es un tipo de sistema. Lamentablemente, golpe no tiene un sistema de tipo fuerte. Con declarar comando, puede obtener un comportamiento similar al tipo y puede establecer atributos para sus variables.

$ type -a declare

declare is a shell builtin

Revisaremos algunas de las funciones útiles declare ofertas Un buen lugar para comenzar y familiarizarse con declare es a través del comando de ayuda o de la página de manual de 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
...

Cómo declarar tipos enteros

Para declarar una variable de tipo entero, use -i bandera. Si observa el siguiente ejemplo, puede ver que la edad variable se declara como un tipo entero. Cuando intenta asignar valores de otro tipo (cadenas ) puede esperar que devuelva un error que diga "No es el tipo correcto ” pero aquí en lugar de arrojar la variable de error se le asignará como cero (0 ). Sí, este es un comportamiento extraño y no es lo que uno espera que sea.

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

Cómo declarar variables de solo lectura

Solo lectura – Este es un término de programación que significa que a una variable se le asigna un valor y nunca puede ser cambiada ni por el programador ni por la máquina. Permanece igual durante todo el ciclo de vida del programa.

Para hacer que su variable sea constante (solo lectura ) use el -r bandera.

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

Un método alternativo para hacer que una variable sea de solo lectura es usar readonly palabra clave.

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

Conversión de minúsculas y mayúsculas en Linux

Al asignar una variable a bash, puede convertirla de minúsculas a mayúsculas y viceversa usando -l (minúsculas) y -u (mayúsculas) bandera.

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

Cómo declarar un arreglo indexado/asociativo

Bash admite dos tipos de arreglos. Indexado matrices y asociativo formación. Para declarar matrices use -a (matriz indexada) y -A (matriz asociativa) bandera. Puede crear una matriz indexada sin usar declare pero para crear una matriz asociativa debe usar el comando declare con -A bandera.

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

Exportar variables a subcapas

Si tiene algo de experiencia con bash, es posible que haya visto a personas que usan el comando de exportación para exportar variables declaradas a subcapas en sus secuencias de comandos o sesiones de shell. Podemos hacerlo usando declare comando también.

Para exportar, debe usar -x bandera y +x flag eliminará el atributo de la exportación.

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

Comprobar si los atributos están definidos o no

Podemos comprobar si un atributo (variable ) está definido o no usando -p bandera.

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

Verá dos guiones -- después de declarar la palabra clave. Esto es para mostrar el tipo de variable como declare -a (matriz), declarar -n (nombreref). Si no se declara nada, simplemente mostrará -- .

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

declare -a Iarray
declare -A Asarray

Si intenta encontrar una variable no declarada, aparecerá el siguiente error.

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

Cómo verificar la definición de función

Puedes usar el -F y -f bandera para ver si la función está declarada y la definición de la función. Estoy creando una función simple de hola mundo.

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

Para obtener la definición de la función, puede usar -f bandera. Si no se pasa ningún nombre de función, imprimirá todas las funciones cargadas y podrá obtener la definición de su función de la lista.

$ declare -f hello_world
$ declare -f

Eso es todo por este artículo. Nos pondremos al día con otro artículo interesante muy pronto.


Linux
  1. Cómo usar una contraseña cifrada en Linux Bash Shell Script

  2. Cómo usar el comando Su en Linux

  3. Cómo usar el comando de pantalla de Linux

  4. Cómo configurar Bash Shell restringido en Linux

  5. Cómo usar alias de shell en Linux

Cómo usar el comando de fecha en Bash Scripting en Linux

Cómo usar el comando echo en Bash Scripts en Linux

Cómo usar el comando sysctl en Linux

Cómo usar el comando de apagado de Linux

Cómo usar grep en Linux

¿Cómo usar Linux Bash Shell dentro de Windows 10?