Supuestos Linux
Revisión del 18:30 16 may 2021 de Joselv (discusión | contribuciones) (Página creada con «= Scripts = == Tipo de comillas == Exemplo para comprender a diferenza entre comillas simples, dobres e inclinadas <syntaxhighlight lang="bash" line='line'> #!/bin/bash #L…»)
Sumario
Scripts
Tipo de comillas
Exemplo para comprender a diferenza entre comillas simples, dobres e inclinadas
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 a=ls #Definimos variable a co valor ls
3 echo '$a' #Comillas simples, non interpreta caracteres especiais coma o carácter $
4 echo "$a" #Comillas dobres, interpreta caracteres especiais coma o carácter $ e todo o que se atope entre elas e
5 #considerado como un só parámetro
6 echo `$a` #Comillas inclinadas, executa o contido dentro das comillas
Tipo de parámetros $ existentes
Exemplo para entednder o tipo de parámetros $ existentes
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 echo "O parámetro cero, $0, é o propio nome do script"
3 echo "Primeiro parámetro que recibo: $1, segundo: $2…"
4 echo "O número total de parámetros pasados na execución do script(excluido $0) é: $#"
5 echo "A lista completa de parámetros(excluido $0), separados por un espacio, é $*"
6 echo "O Identificador do proceso (PID) é $$"
7 echo "A saída da execución do último comando pode ser correcta(valor cero) ou errónea(valor distinto de cero),
8 sendo neste caso $?"
Operacións matemáticas con enteiros
Exemplo de operacións matemáticas con números enteiros
1 #!/bin/bash#Liña necesaria para saber que shell executará o script
2 expr 2 \* 2 #Fai a operación 2*2
3 echo "2 * 2" | bc #Fai a operación 2*2
4 echo $((2*2)) #Fai a operación 2*2
Lectura de variables
Exemplo para pedir variables por teclado
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 echo Dáme o teu nome #Pedimos o nome do usuario
3 read nome #O que se introduce por teclado gárdase como variable nome
4 echo Ola $nome #Ensinamos por pantalla Ola e o contido da variable nom
Condicionáis
Exemplos para comprender as condicións.
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 echo Dáme un número #Pedimos un número
3 read n1 #O que se introduce por teclado gárdase como variable n1
4 if test $n1 –lt 100 #Inicio Condición: Si o valor de n1 é menor que 100
5 then #entón
6 echo O número $n1 é menor que 100 #Ensina por pantalla unha mensaxe
7 else #senón
8 echo O número $n1 é maior que 100 #Ensina por pantalla unha mensaxe
9 fi #Fin Condición
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 echo Dáme un número #Pedimos un número
3 read n1 #O que se introduce por teclado gárdase como variable n1
4 if test $n1 –le 100 #Inicio Condición: Si o valor de n1 é menor ou igual que 100
5 then #entón
6 if test $n1 –lt 100 ; then # I nicio Condición-2:Si o valor de n1 é menor que 100
7 echo O número $n1 é menor que 100 #Ensina por pantalla unha mensaxe
8 else #senón
9 echo O número é igual a 100 #Ensina por pantalla unha mensaxe
10 fi #Fin Condición-2
11 else #senón
12 echo O número $n1 é maior que 100 #Ensina por pantalla unha mensaxe
13 fi #Fin Condición
Bucles
Exemplo de contador con for
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 for i in $(seq 1 100) #Comeza bucle contador onde a variable i toma o valor de 1 a 100
3 do #facer
4 echo Valor de i: $i #Ensina o valor da variable i para cada valor do bucle, así ensina os números de 1 ata 100
5 done #feito
Exemplo con while
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 i=1 #Definimos variable i co valor un.
3 while [ $i –le 100 ] #Comeza bucle contador onde a variable i toma o valor de 1 a 100: Namentras i sexa menor ou igual a 100
4 do #facer
5 echo Valor de i: $i #Ensina o valor da variable i para cada valor do bucle, sendo o primeiro valor un
6 i=$(($i+1)) #Aumenta unha unidade o valor anterior, se era un, entón agora valor igual a dous
7 done #feito
Exemplo con until
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 i=1 #Definimos variable i co valor un.
3 until [ $i –ge 101 ] #Comeza bucle contador onde a variable i toma o valor de 1 a 100: Ata que i sexa maior ou igual a 101
4 do #facer
5 echo Valor de i: $i #Ensina o valor da variable i para cada valor do bucle, sendo o primeiro valor un
6 i=$(($i+1)) #Aumenta unha unidade o valor anterior, se era un, entón agora valor igual a dous
7 done #feito
Exemplo de menú
Exemplo de funcionamiento de CASE
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 echo Opcion1. Ver directorio actual #Amosa por pantalla
3 echo Opcion2. Ler /tmp #Amosa por pantalla
4 echo Opcion3. Sair #Sair
5 echo Elixe opcion:1,2,3? #Escoller opcion
6 read opcion #A opción escollida gárdase como valor na variable opcion
7 case $opcion in #Comezo case para facer menu
8 1) pwd #Se o valor da variable opcion é 1 fanse os seguintes comandos.
9 ;; #Toda opción debe acabar con ;;
10 2) ls /tmp #Se o valor da variable opcion é 2 fanse os seguintes comandos.
11 ;; #Toda opción debe acabar con ;;
12 3) exit #Se o valor da variable opcion é 3 fanse os seguintes comandos.
13 ;; #Toda opción debe acabar con ;;
14 *) echo non elixiches nin 1,2,3 #Mensaxe por pantalla
15 ;; #Toda opción debe acabar con ;;
16 esac #Fin case para facer menu
Exemplo de funcións
Exemplo de funcion suma
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 suma() { #Definimos a función suma
3 echo Dame numero #Pedimos un número
4 read n1 #Recollemos o número como valor na variable n1
5 echo Dame outro numero #Pedimos outro número
6 read n2 #Recollemos o número como valor na variable n2
7 echo A suma de $n1 e $n2 é: $(($n1+$n2)) #Facemos a suma
8 } #Finaliza a definición da función suma
9 suma #Chamamos á función suma
Exemplo copia de seguridade
Script copia de seguridade(backup) home usuario
1 #!/bin/bash #Liña necesaria para saber que shell executará o script
2 inicio() { #Definimos a función inicio
3 echo Dáme usuario #Mensaxe por pantalla
4 read user #Recollemos o usuario como valor na variable user
5 testear #Chamamos á función testear
6 } #Finaliza a definición da función inicio
7 testear() { #Definimos a función testear
8 if test –d /home/$user #Comeza condición: Si existe o directorio /home/$user
9 then #entón
10 echo O directorio /home/$user existe #Mensaxe por pantalla
11 tar –czvf user.tar.gz /home/$use r #Empaquetar-Comprimir o directorio /home/$user
12 else #senón
13 echo O directorio /home/$user non existe #Mensaxe por pantalla
14 echo O contido de /home é o seguinte `ls /home` #Ensina o directorio /home para escoller ben o usuario
15 inicio #Chamamos á función inicio
16 fi #Finaliza Condición
17 } #Finaliza a definición da función testear
18 inicio #Chamamos á función inicio
Script copia de seguridade(backup) de calquer cartafol introducido polo usuario
1 !/bin/bash #Liña necesaria para saber que shell executará o script
2 inicio() { #Definimos a función inicio
3 echo Dáme cartafol #Menxase por pantalla
4 read cartafol #Recollemos o escrito como valor na variable cartafol
5 testear #Chamamos á función testear
6 } #Finaliza a definición da función inicio
7 testear() { #Definimos a función testear
8 if test –d $cartafol #Comeza Condición: Si existe o directorio $cartafol
9 then #entón,
10 echo O directorio $cartafol existe #Mensaxe por pantalla
11 tar –cvjf cartafol.tar.bz2 $cartafol #Empaquetar e comprimir o directorio $cartafol
12 else #senón
13 echo O directorio $cartafol non existe #Mensaxe por pantalla
14 inicio #Chamamos á función inicio
15 fi #Finaliza a condición
16 } #Finaliza a definición da función testear
17 inicio #Chamamos á función inicio
Créditos
Elaborado a partir de EXEMPLOS SCRIPTS – SHELL BASH de Ricardo Feijoo Costa This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License