ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Scripts bash


Enviado por   •  6 de Junio de 2023  •  Apuntes  •  4.599 Palabras (19 Páginas)  •  142 Visitas

Página 1 de 19

SCRIPTS

para finalizar= exit

# para hacer comentarios, solo afecta a la linea que lo lleva

shebang

Es una linea no obligatoria, si existe es la primera y tiene la ruta absoluta del interprete de comandos que debe utilizarse para ejecutar ese script tras una almohadilla y admiración.

Esta linea nos va a dirigir la ejecución del script al interprete correcto si lo tenemos instalado de manera automática

#!bin/bash

el shebang es el único que no es comentario y lleva almohadilla delante

echo -e “texto /n (salto de linea)

texto”

Si usásemos sh como interprete sería “texto /n texto”, es decir, habría que usar comillas.

VARIABLES

No hay que declararlas ni tienen tipo.

#!/bin/bash

variable1=15

variable2=hola

echo la variable1 vale $variable1

echo la variable2 vale $variable2

resultado:

la variable1 vale 15

la variable2 vale hola

Si la variable tiene espacios, se encierra su valor entre comillas

variable3=”odio los scritpts”

variable4=’con todas mis fuerzas’

echo $variable3

echo $variable4

resultado:

odio los scripts

con todas mis fuerzas

variable de solo lectura:

declare -r variable=valor

El valor no va a ser modificado durante la ejecución del script

#!/bin/bash

declare -r temperatura=28

echo Temperatura $temperatura

temperatura=30

echo $temperatura

Resultado:

oscar@oscar-VirtualBox:~/scripts$ ./temperatura.sh

Temperatura 28

./temperatura.sh: línea 7: temperatura: variable de sólo lectura

28

PARA LLAMAR A UN SCRIPT DESDE OTRO

desde el scritpt inicial

ruta/nombrescript

si estuviesen en la misma carpeta

./nombredelscript

TIPOS

Aunque no es obligatorio, podemos declarar un tipo para la variable. De esa manera, siempre va a tener que recibir un valor compatible con el tipo asignado.

Declare -i variable

esta variable va a ser de tipo integer y su valor siempre debe estar dentro del rango de un entero, en caso de que asignemos un alfanumerico su valor será cero, en caso de que sea un valor tipo float dará error

GNU nano 4.8 temperatura.sh

#!/bin/bash

declare -i temperatura

temperatura=28

echo Temperatura $temperatura

temperatura=3.5

echo $temperatura

temperatura=aserf

echo $temperatura

Resultado:

Temperatura 28

./temperatura.sh: línea 9: 3.5: error sintáctico: operador aritmético no válido (el elemento de error es ".5")

28

0

Las variables tienen un valor sólo para su script, si llamamos a otro script desde el primero no va a mostrar el valor de las variables del primer script en el segundo.

Para que exporten el valor hay que poner delante de la variable export

VARIABLES DE SISTEMA

las podemos ver introduciendo el comando set en el cmd

Para ver el resultado de una variable del sistema usamos $?

EXPRESIONES

Ejemplo

oscar@oscar-VirtualBox:~/scripts$ ls

llamado.sh primero.sh temperatura.sh variables.sh

oscar@oscar-VirtualBox:~/scripts$ $?

0: no se encontró la orden

TEST el comando test sirve para evaluar expresiones. Si se cumple la condición da como resultado 0.

En la ayuda hay múltiples opciones de uso

oscar@oscar-VirtualBox:~/scripts$ test -d temperatura.sh

oscar@oscar-VirtualBox:~/scripts$ $?

1: no se encontró la orden

Como temperatura.sh no es un directorio no me va a dar cero, porque no se cumple la condición

num1=16

num2=17

if test $num1 -eq $num2

then

echo números iguales

else

...

Descargar como (para miembros actualizados)  txt (23.2 Kb)   pdf (95.8 Kb)   docx (31 Kb)  
Leer 18 páginas más »
Disponible sólo en Clubensayos.com