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.