Script Linux 1

Embed Size (px)

Citation preview

  • 7/23/2019 Script Linux 1

    1/127

    1

    SCRIPTSCRIPT

    LINUXLINUX

  • 7/23/2019 Script Linux 1

    2/127

    2

    1.1. Qu es un script de Linux?Qu es un script de Linux?

    1.1. Creacin del primer script1.1. Creacin del primer script

    2.2. Comentarios y lneas en blancoComentarios y lneas en blanco

    3.3. Deinicin de !ariablesDeinicin de !ariables

    ".". #aso de ar$umentos al script#aso de ar$umentos al script

    %.%. &structura condicional&structura condicional

    %.1. &structura i%.1. &structura i

    %.2. &structura case%.2. &structura case

    %.3. Condiciones%.3. Condiciones

    %.3.1. Cadena de texto%.3.1. Cadena de texto%.3.2. '(meros enteros%.3.2. '(meros enteros

    %.3.3. )obre ic*eros%.3.3. )obre ic*eros

    %.3.". 'e$acin%.3.". 'e$acin

    %.3.%. +peradores l$icos%.3.%. +peradores l$icos

    ,.,. &ntrada de datos por parte del usuario&ntrada de datos por parte del usuario-.-. &structura iterati!a. ucles&structura iterati!a. ucles

    -.1. &structura or-.1. &structura or

    -.2. &structura /*ile-.2. &structura /*ile

    0.0. +tros elementos importantes+tros elementos importantes

    .. uncionesunciones

  • 7/23/2019 Script Linux 1

    3/127

    3

    1. Qu es un script de Linux?

  • 7/23/2019 Script Linux 1

    4/127

    "

    1. Qu es un script de Linux?

    &s un ic*ero de comandos 4ue la consolainterpreta y e5ecuta 6similar a los .bat7

    8 9umenta la comodidad en la e5ecucin de procesos

    8 9utomati:a tareas comple5as

    8 )e utili:an durante el proceso de arran4ue;parada del

    sistema

    8 Los utili:an muc*as otras *erramientas

  • 7/23/2019 Script Linux 1

    5/127

    %

    1.1. Creacin del primer script

    9brimos un ic*ero de texto con un editor &scribimos los comandos en su interior

  • 7/23/2019 Script Linux 1

    6/127

    ,

    1.1. Creacin del primer script

    bas* =ic*ero script>

    ;ruta;=ic*ero script>

    8 Debemos colocar en este caso como primera lnea

    @;bin;bas*

    8 Aenemos 4ue cambiar los permisos del ic*ero para 4ue

    se pueda e5ecutar8 Aras los dos cambios anteriores podremos e5ecutarlo

    ;rutaBabsoluta;=ic*ero script>

    .;=ic*ero script> si est en el directorio acti!o

  • 7/23/2019 Script Linux 1

    7/127

    -

    2. Comentarios y lneas en blanco

  • 7/23/2019 Script Linux 1

    8/127

    0

    2. Comentarios y lneas en blanco

    n salto de lnea o lnea en blanco noeect(a nin$una operacin durante la

    e5ecucin del pro$rama

    Las lneas con comentarios empie:an con .Aampoco tendrn nin$(n eecto sobre la

    e5ecucin

    Los comentarios se utili:an para aclarar lo4ue reali:a el cdi$o

  • 7/23/2019 Script Linux 1

    9/127

    3. Deinicin de !ariables

  • 7/23/2019 Script Linux 1

    10/127

    1E

    3. Deinicin de !ariables

    na !ariable es un nombre simblico 4uealmacena un !alor

    La deinicin de una !ariable se reali:a

    nombreF!ariableG!alor

    #ara usar el !alor de la !ariableH

    anteponemos al nombre el smbolo I

    &5emploJSTR=Hola

    echo $STR

  • 7/23/2019 Script Linux 1

    11/127

    11

    3. Deinicin de !ariables

    Keamos el usoJ

    K91GMi

    K91GMola

    K92G-

    K91GND

    K92G%

    ec*o IK91

    ec*o IK92

    K92GIK91

    'omKar Kalor

    K91 Mi

    usuarioOusuarioBdesPtopJ;script

  • 7/23/2019 Script Linux 1

    12/127

    12

    3. Deinicin de !ariables

    Keamos el usoJ

    K91GMi

    K91GMola

    K92G-

    K91GND

    K92G%

    ec*o IK91

    ec*o IK92

    K92GIK91

    'omKar Kalor

    K91 Molaor

    usuarioOusuarioBdesPtopJ;script

  • 7/23/2019 Script Linux 1

    13/127

    13

    3. Deinicin de !ariables

    Keamos el usoJ

    K91GMi

    K91GMola

    K92G-

    K91GND

    K92G%

    ec*o IK91

    ec*o IK92

    K92GIK91

    'omKar Kalor

    K91 Molaor

    K92 -or

    usuarioOusuarioBdesPtopJ;script

  • 7/23/2019 Script Linux 1

    14/127

    1"

    3. Deinicin de !ariables

    Keamos el usoJ

    K91GMi

    K91GMola

    K92G-

    K91GND

    K92G%

    ec*o IK91

    ec*o IK92

    K92GIK91

    'omKar Kalor

    K91 NDor

    K92 -or

    usuarioOusuarioBdesPtopJ;script

  • 7/23/2019 Script Linux 1

    15/127

    1%

    3. Deinicin de !ariables

    Keamos el usoJ

    K91GMi

    K91GMola

    K92G-

    K91GND

    K92G%

    ec*o IK91

    ec*o IK92

    K92GIK91

    'omKar Kalor

    K91 NDor

    K92 %or

    usuarioOusuarioBdesPtopJ;script

  • 7/23/2019 Script Linux 1

    16/127

    1,

    3. Deinicin de !ariables

    Keamos el usoJ

    K91GMi

    K91GMola

    K92G-

    K91GND

    K92G%

    ec*o IK91

    ec*o IK92

    K92GIK91

    'omKar Kalor

    K91 NDor

    K92 %or

    usuarioOusuarioBdesPtopJ;script

    ND

  • 7/23/2019 Script Linux 1

    17/127

    1-

    3. Deinicin de !ariables

    Keamos el usoJ

    K91GMi

    K91GMola

    K92G-

    K91GND

    K92G%

    ec*o IK91

    ec*o IK92

    K92GIK91

    'omKar Kalor

    K91 NDor

    K92 %or

    usuarioOusuarioBdesPtopJ;script

    ND

    %

  • 7/23/2019 Script Linux 1

    18/127

    10

    3. Deinicin de !ariables

    Keamos el usoJ

    K91GMi

    K91GMola

    K92G-

    K91GND

    K92G%

    ec*o IK91

    ec*o IK92

    K92GIK91

    'omKar Kalor

    K91 NDor

    K92 NDor

    usuarioOusuarioBdesPtopJ;script

    ND

    %

  • 7/23/2019 Script Linux 1

    19/127

    1

    ". #aso de ar$umentos al script

  • 7/23/2019 Script Linux 1

    20/127

    2E

    ". #aso de ar$umentos al script

    Los scripts 4ue creamos podemos pasarlear$umentos al llamarlos

    .;Nombre_Scriptar$1 ar$2 R ar$'

    Los elementos a reco$er desde el scriptJ

    8 IE 'ombre del script

    8 I1H I2H RH I los nue!e primeros ar$umentos

    8 I n(mero de ar$umentos pasados al script

    8 IOH IStodos los ar$umentosH empe:ando por I1

  • 7/23/2019 Script Linux 1

    21/127

    21

    %. &structura condicional

  • 7/23/2019 Script Linux 1

    22/127

    22

    %. &structura condicional

    'os permite indicar si e5ecutamos ciertoscomandos o no se$(n las condiciones 4ue

    existan

    #ara ello necesitaremos elementos 4ue nospermitan *acer la e!aluacin de dic*as

    condiciones

    &xisten dos estructuras condiciones para losscriptH i y case

  • 7/23/2019 Script Linux 1

    23/127

    %.1. &structura i

    i =condicin>t*en

    =comandos>

    i

    i =condicin>

    t*en

    =comandos>else

    =comandos>

    i

    i =condicin>

    t*en

    =comandos>

    eli =condicin>

    t*en

    =comandos>

    Relse

    =comandos>

    i

    23

  • 7/23/2019 Script Linux 1

    24/127

    %.1. &structura i

    i T UooV G UooV W

    t*en

    ec*o U)i es ciertoV

    i

    ec*o U)iempreVi T UI1V G U*olaV W

    t*en

    ec*o U)i es !erdadV

    else

    ec*o U)i es alsaV

    i

    ec*o in

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    t*enec*o &s adis

    eli T UI1V G ULinuxV W

    t*en

    ec*o &s Linux

    else

    ec*o &s otra cosa

    i2"

  • 7/23/2019 Script Linux 1

    25/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    2%

    'omKar Kalor

    I1 adisor

    J;script .;pruebaX adis

    FALSO

  • 7/23/2019 Script Linux 1

    26/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    2,

    'omKar Kalor

    I1 adisor

    J;script .;pruebaX adis

    CIERTO

  • 7/23/2019 Script Linux 1

    27/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    2-

    'omKar Kalor

    I1 adisor

    J;script .;pruebaX adis

  • 7/23/2019 Script Linux 1

    28/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    20

    'omKar Kalor

    I1 adisor

    J;script .;pruebaX adis

    &s adis

  • 7/23/2019 Script Linux 1

    29/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    2

    'omKar Kalor

    I1 adisor

    J;script .;pruebaX adis

    &s adis

  • 7/23/2019 Script Linux 1

    30/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    3E

    'omKar Kalor

    I1 adisor

    J;script .;pruebaX adis

    &s adis

    in

  • 7/23/2019 Script Linux 1

    31/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    31

    'omKar Kalor

    I1 adisor

    J;script .;pruebaX adis

    &s adis

    in

  • 7/23/2019 Script Linux 1

    32/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    32

    'omKar Kalor

    I1 NDor

    J;script .;pruebaX ND

    FALSO

  • 7/23/2019 Script Linux 1

    33/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    33

    'omKar Kalor

    I1 NDor

    J;script .;pruebaX ND

    FALSO

  • 7/23/2019 Script Linux 1

    34/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    3"

    'omKar Kalor

    I1 NDor

    J;script .;pruebaX NDFALSO

  • 7/23/2019 Script Linux 1

    35/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    3%

    'omKar Kalor

    I1 NDor

    J;script .;pruebaX ND

  • 7/23/2019 Script Linux 1

    36/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    3,

    'omKar Kalor

    I1 NDor

    J;script .;pruebaX ND

    &s otra cosa

  • 7/23/2019 Script Linux 1

    37/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    3-

    'omKar Kalor

    I1 NDor

    J;script .;pruebaX ND

    &s otra cosa

  • 7/23/2019 Script Linux 1

    38/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    30

    'omKar Kalor

    I1 NDor

    J;script .;pruebaX ND

    &s otra cosa

    in

  • 7/23/2019 Script Linux 1

    39/127

    %.1. &structura i

    i T UI1V G U*olaV Wt*en

    ec*o &s *ola

    eli T UI1V G UadisV W

    ec*o &s adis

    eli T UI1V G ULinuxV W

    ec*o &s Linux

    elseec*o &s otra cosa

    i

    ec*o in

    3

    'omKar Kalor

    I1 NDor

    J;script .;pruebaX ND

    &s otra cosa

    in

  • 7/23/2019 Script Linux 1

    40/127

    %.2. &structura case

    case =!ariable>

    in

    expresin 17

    =blo4ue 1>

    YY

    expresin 27=blo4ue 2>

    YY

    expresin 37

    =blo4ue 3>

    YY

    S7

    =blo4ue por deecto>

    YY

    esac

    "E

  • 7/23/2019 Script Linux 1

    41/127

    %.2. &structura case

    case I1

    in

    U*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    "1

    'omKar Kalor

    I1 adisor

    J;script .;pruebaCase adis

  • 7/23/2019 Script Linux 1

    42/127

    %.2. &structura case

    case I1

    in

    U*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    "2

    'omKar Kalor

    I1 adisor

    J;script .;pruebaCase adis

  • 7/23/2019 Script Linux 1

    43/127

    %.2. &structura case

    case I1

    in

    U*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    "3

    'omKar Kalor

    I1 adisor

    J;script .;pruebaCase adis

    COINCIDE

  • 7/23/2019 Script Linux 1

    44/127

    %.2. &structura case

    case I1

    inU*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    ""

    'omKar Kalor

    I1 adisor

    J;script .;pruebaCase adis

    &s 9DX+)

    2

  • 7/23/2019 Script Linux 1

    45/127

    %.2. &structura case

    case I1

    inU*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    "%

    'omKar Kalor

    I1 adisor

    J;script .;pruebaCase adis

    &s 9DX+)

    % 2 &

  • 7/23/2019 Script Linux 1

    46/127

    %.2. &structura case

    case I1

    inU*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    ",

    'omKar Kalor

    I1 NDor

    J;script .;pruebaCase ND

    % 2 &

  • 7/23/2019 Script Linux 1

    47/127

    %.2. &structura case

    case I1

    inU*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    "-

    'omKar Kalor

    I1 NDor

    J;script .;pruebaCase ND

    % 2 & t t

  • 7/23/2019 Script Linux 1

    48/127

    %.2. &structura case

    case I1

    inU*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    "0

    'omKar Kalor

    I1 NDor

    J;script .;pruebaCase ND

    % 2 & t t

  • 7/23/2019 Script Linux 1

    49/127

    %.2. &structura case

    case I1

    inU*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    "

    'omKar Kalor

    I1 NDor

    J;script .;pruebaCase ND

    % 2 & t t

  • 7/23/2019 Script Linux 1

    50/127

    %.2. &structura case

    case I1

    inU*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    %E

    'omKar Kalor

    I1 NDor

    J;script .;pruebaCase ND

    % 2 & t t

  • 7/23/2019 Script Linux 1

    51/127

    %.2. &structura case

    case I1

    inU*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    %1

    'omKar Kalor

    I1 NDor

    J;script .;pruebaCase ND

    &s +A9 C+)9

    % 2 & t t

  • 7/23/2019 Script Linux 1

    52/127

    %.2. &structura case

    case I1

    inU*olaV7

    ec*o &s M+L9

    YY

    UadisV7ec*o &s 9DX+)

    YY

    ULinuxV7

    ec*o &s Linux

    YY

    S7

    ec*o &s +A9 C+)9

    YY

    esac

    %2

    'omKar Kalor

    I1 NDor

    J;script .;pruebaCase ND

    &s +A9 C+)9

    % 3 C di i

  • 7/23/2019 Script Linux 1

    53/127

    %3

    %.3. Condiciones

    )e utili:an para los apartados 4ue se indicabancomo

  • 7/23/2019 Script Linux 1

    54/127

    %"

    %.3.1. Cadena de texto

    T UIaV G UIbV W X$ualdad

    T UIaV GG UIbV W X$ualdad

    T UIaV @G UIbV W Desi$ualdad

    T UIaV Z= UIbV W +rden alabtico

    T UIaV Z> UIbV W +rden alabtico in!erso

    T B: UIaV W )i la !ariable es !acaH es !erdad

    T Bn UIaV W )i contiene al$oH es !erdad

    % 3 2 '(meros enteros

  • 7/23/2019 Script Linux 1

    55/127

    %%

    %.3.2. '(meros enteros

    T UIaV Be4 UIbV W X$ualdad

    T UIaV Bne UIbV W Desi$ualdad

    T UIaV B$t UIbV W [ayor 4ueT UIaV Blt UIbV W [enor 4ue

    T UIaV B$e UIbV W [ayor o i$ual 4ue

    T UIaV Ble UIbV W [enor o i$ual 4ue

    % 3 3 Condiciones sobre ic*eros

  • 7/23/2019 Script Linux 1

    56/127

    %,

    %.3.3. Condiciones sobre ic*eros

    T Be nombre ic*ero W existencia

    T B nombre ic*ero W es ic*ero ordinario

    T Bs nombre ic*ero W es ic*ero !aco 6E bytes7

    T Bd nombre ic*ero W es directorio

    T Bb nombre ic*ero W es dispositi!o de blo4ues

    T Bc nombre ic*ero W es dispositi!o de caracteres

    T BL nombre ic*ero W es enlace simblico

    T Br nombre ic*ero W tiene permiso de lectura

    T Bx nombre ic*ero W tiene permiso de e5ecucin

    T B/ nombre ic*ero W tiene permiso de escritura

    % 3 3 Condiciones sobre ic*eros

  • 7/23/2019 Script Linux 1

    57/127

    %-

    %.3.3. Condiciones sobre ic*eros

    T B+ nombre ic*ero W somos propietarios del ic*ero6XD7

    T B< nombre ic*ero W somos propietarios del ic*ero

    6

  • 7/23/2019 Script Linux 1

    58/127

    %0

    %.3.". 'e$acin

    )e usa el carcter @

    T @ 8e ic*ero W

    T @ 8 ic*ero W

    % 3 % +peradores l$icos

  • 7/23/2019 Script Linux 1

    59/127

    %

    %.3.%. +peradores l$icos

    'os permite concatenar expresiones

    condicionales. #ara ello se debe recordar losoperadores 9'D y +H tomando CX&A+ como 1

    y 9L)+ como E

    T Uexpr1V Ba Uexpr2V W 9'D entre expr1 y expr2

    T Uexpr1V Bo Uexpr2V W + entre expr1 y expr2

    T expr1 W \\ T expr2 W E 9'D E G EE 9'D 1 G E

    1 9'D E G E

    1 9'D 1 G 1

    E + E G EE + 1 G 1

    1 + E G 1

    1 + 1 G 1

  • 7/23/2019 Script Linux 1

    60/127

    ,E

    ,. &ntrada de datos por parte del usuario

    , &ntrada de datos por parte del usuario

  • 7/23/2019 Script Linux 1

    61/127

    ,1

    ,. &ntrada de datos por parte del usuario

    La entrada de datos por parte del usuario nonecesariamente tiene 4ue *acerse mediante los

    ar$umentos

    [ediante reapodemos solicitar 4ue se introdu:caal$(n parmetro 4ue 4ueramos utili:ar durante la

    e5ecucin

    9l encontrarse con dic*a instruccinH la e5ecucinse detendr a la espera del dato

    rea nombreF!ariable

    , &ntrada de datos por parte del usuario

  • 7/23/2019 Script Linux 1

    62/127

    ,. &ntrada de datos por parte del usuario

    ec*o Xntrodu:ca un dato

    read D9A+

    ec*o ID9A+

    ,2

    'omKar Kalor

    J;script .;pruebaDatos

    , &ntrada de datos por parte del usuario

  • 7/23/2019 Script Linux 1

    63/127

    ,. &ntrada de datos por parte del usuario

    ec*o Xntrodu:ca un dato

    read D9A+

    ec*o ID9A+

    ,3

    'omKar Kalor

    J;script .;pruebaDatos

    Xntrodu:ca un dato

    , &ntrada de datos por parte del usuario

  • 7/23/2019 Script Linux 1

    64/127

    ,. &ntrada de datos por parte del usuario

    ec*o Xntrodu:ca un dato

    read D9A+

    ec*o ID9A+

    ,"

    'omKar Kalor

    J;script .;pruebaDatos

    Xntrodu:ca un dato

    , &ntrada de datos por parte del usuario

  • 7/23/2019 Script Linux 1

    65/127

    ,. &ntrada de datos por parte del usuario

    ec*o Xntrodu:ca un dato

    read D9A+

    ec*o ID9A+

    ,%

    'omKar Kalor

    J;script .;pruebaDatos

    Xntrodu:ca un dato

    NND

    D9A+ NNDor

    , &ntrada de datos por parte del usuario

  • 7/23/2019 Script Linux 1

    66/127

    ,. &ntrada de datos por parte del usuario

    ec*o Xntrodu:ca un dato

    read D9A+

    ec*o ID9A+

    ,,

    'omKar Kalor

    J;script .;pruebaDatos

    Xntrodu:ca un dato

    NND

    NND

    D9A+ NNDor

    , &ntrada de datos por parte del usuario

  • 7/23/2019 Script Linux 1

    67/127

    ,. &ntrada de datos por parte del usuario

    ec*o Xntrodu:ca un dato

    read D9A+

    ec*o ID9A+

    ,-

    'omKar Kalor

    J;script .;pruebaDatos

    Xntrodu:ca un dato

    NND

    NND

    J;script

    D9A+ NNDor

  • 7/23/2019 Script Linux 1

    68/127

    ,0

    -. &structura iterati!a. ucles

    - &structura iterati!a ucles

  • 7/23/2019 Script Linux 1

    69/127

    ,

    -. &structura iterati!a. ucles

    )e utili:an cuando 4ueremos repetir una accin unn(mero de !ecesH 4ue puede ser i5o o

    dependiente de al$una !ariable

    Keremos los bucles /*ile y orH para b(s4uedas y

    recorridos respecti!amente

    &xisten otros tipos de bucles para los script de

    LinuxH como #ntilH pero no los estudiaremos

    - 1 &structura or

  • 7/23/2019 Script Linux 1

    70/127

    -.1. &structura or

    or =!ariable> in =recorrido>

    do

    =comandos>done

    -E

    - 1 &structura or

  • 7/23/2019 Script Linux 1

    71/127

    -.1. &structura or

    or i in I6ls7

    do

    ec*o ic*eroJ Ii

    done

    ec*o in

    -1

    'omKar Kalor

    J;script ls

    ic*1 ic*2 ic*3

    J;script .;or1

    - 1 &structura or

  • 7/23/2019 Script Linux 1

    72/127

    -.1. &structura or

    or i in I6ls7

    do

    ec*o ic*eroJ Ii

    done

    ec*o in

    -2

    i ic*1or

    'omKar Kalor

    J;script ls

    ic*1 ic*2 ic*3

    J;script .;or1

    - 1 &structura or

  • 7/23/2019 Script Linux 1

    73/127

    -.1. &structura or

    or i in I6ls7

    do

    ec*o ic*eroJ Ii

    done

    ec*o in

    -3

    i ic*1or

    'omKar Kalor

    J;script ls

    ic*1 ic*2 ic*3

    J;script .;or1

    ic*eroJ ic*1

    - 1 &structura or

  • 7/23/2019 Script Linux 1

    74/127

    -.1. &structura or

    or i in I6ls7

    do

    ec*o ic*eroJ Ii

    done

    ec*o in

    -"

    i ic*2or

    'omKar Kalor

    J;script ls

    ic*1 ic*2 ic*3

    J;script .;or1

    ic*eroJ ic*1

    - 1 &structura or

  • 7/23/2019 Script Linux 1

    75/127

    -.1. &structura or

    or i in I6ls7

    do

    ec*o ic*eroJ Ii

    done

    ec*o in

    -%

    i ic*2or

    'omKar Kalor

    J;script ls

    ic*1 ic*2 ic*3

    J;script .;or1

    ic*eroJ ic*1

    ic*eroJ ic*2

    - 1 &structura or

  • 7/23/2019 Script Linux 1

    76/127

    -.1. &structura or

    or i in I6ls7

    do

    ec*o ic*eroJ Ii

    done

    ec*o in

    -,

    i ic*3or

    'omKar Kalor

    J;script ls

    ic*1 ic*2 ic*3

    J;script .;or1

    ic*eroJ ic*1

    ic*eroJ ic*2

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    77/127

    -.1. &structura or

    or i in I6ls7

    do

    ec*o ic*eroJ Ii

    done

    ec*o in

    --

    i ic*3or

    'omKar Kalor

    J;script ls

    ic*1 ic*2 ic*3

    J;script .;or1

    ic*eroJ ic*1

    ic*eroJ ic*2

    ic*eroJ ic*3

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    78/127

    -.1. &structura or

    or i in I6ls7

    do

    ec*o ic*eroJ Ii

    done

    ec*o in

    -0

    i ic*3or

    'omKar Kalor

    J;script ls

    ic*1 ic*2 ic*3

    J;script .;or1

    ic*eroJ ic*1

    ic*eroJ ic*2

    ic*eroJ ic*3

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    79/127

    -.1. &structura or

    or i in I6ls7

    do

    ec*o ic*eroJ Ii

    done

    ec*o in

    -

    i ic*3or

    'omKar Kalor

    J;script ls

    ic*1 ic*2 ic*3

    J;script .;or1

    ic*eroJ ic*1

    ic*eroJ ic*2

    ic*eroJ ic*3

    in

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    80/127

    0E

    -.1. &structura or

    Keamos otro e5emplo con el bucle or

    &n este caso !amos a utili:ar el elemento e%H

    cuya sintaxis esJ

    se4 =!alor inicial> =!alor inal>

    &l !alor de la !ariable se ir incrementando de uno

    en uno. [e5or el e5emplo para entenderlo me5or

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    81/127

    -.1. &structura or

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    01

    'omKar Kalor

    J;script .;or2

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    82/127

    st uctu a o

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    02

    'omKar Kalor

    J;script .;or2

    i 1or

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    83/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    03

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    i 1or

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    84/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    0"

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    i 2or

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    85/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    0%

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    KalorJ 2

    i 2or

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    86/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    0,

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    KalorJ 2

    i 3or

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    87/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    0-

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    KalorJ 2

    KalorJ 3

    i 3or

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    88/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    00

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    KalorJ 2

    KalorJ 3

    i " r

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    89/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    0

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    KalorJ 2

    KalorJ 3

    KalorJ "

    i " r

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    90/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    E

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    KalorJ 2

    KalorJ 3

    KalorJ "

    i % r

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    91/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    1

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    KalorJ 2

    KalorJ 3

    KalorJ "KalorJ %

    i % r

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    92/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    2

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    KalorJ 2

    KalorJ 3

    KalorJ "KalorJ %

    i % r

    -.1. &structura or

  • 7/23/2019 Script Linux 1

    93/127

    or i in I6se4 1 %7

    do

    ec*o KalorJ Ii

    done

    ec*o in

    3

    'omKar Kalor

    J;script .;or2

    KalorJ 1

    KalorJ 2

    KalorJ 3

    KalorJ "KalorJ %

    in

    i % r

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    94/127

    /*ile =condicin>

    do

    =comandos>

    done

    "

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    95/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    done

    ec*o in

    %

    'omKar Kalor

    J;script .;pru/*ile

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    96/127

    ,

    'omKar Kalor

    J;script .;pru/*ile

    a Eor

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    done

    ec*o in

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    97/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    done

    ec*o in

    -

    'omKar Kalor

    J;script .;pru/*ile

    a EorSe c#mple

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    98/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    done

    ec*o in

    0

    'omKar Kalor

    J;script .;pru/*ile

    KalorJ E

    a Eor

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    99/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    done

    ec*o in

    'omKar Kalor

    J;script .;pru/*ile

    KalorJ E

    a 1or

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    100/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    done

    ec*o in

    1EE

    'omKar Kalor

    J;script .;pru/*ile

    KalorJ E

    a 1orSe c#mple

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    101/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    doneec*o in

    1E1

    'omKar Kalor

    J;script .;pru/*ile

    KalorJ E

    KalorJ 1

    a 1or

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    102/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    doneec*o in

    1E2

    'omKar Kalor

    J;script .;pru/*ile

    KalorJ E

    KalorJ 1

    a 2or

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    103/127

    R tras - iteraciones

    1E3

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    104/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    doneec*o in

    1E"

    'omKar Kalor

    J;script .;pru/*ile

    KalorJ E

    KalorJ 1

    R

    KalorJ

    a or

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    105/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    doneec*o in

    1E%

    'omKar Kalor

    J;script .;pru/*ile

    KalorJ E

    KalorJ 1

    R

    KalorJ

    a 1Eor

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    106/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    doneec*o in

    1E,

    'omKar Kalor

    J;script .;pru/*ile

    KalorJ E

    KalorJ 1

    R

    KalorJ

    a 1EorNo e c#mple

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    107/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    doneec*o in

    1E-

    'omKar Kalor

    J;script .;pru/*ile

    KalorJ E

    KalorJ 1

    R

    KalorJ in

    a 1Eor

    -.2. &structura /*ile

  • 7/23/2019 Script Linux 1

    108/127

    aGE

    /*ile T Ia 8lt 1E W

    do

    ec*o KalorJ Ia

    let aGa]1

    doneec*o in

    1E0

    'omKar Kalor

    J;script .;pru/*ile

    KalorJ E

    KalorJ 1

    R

    KalorJ in

    a 1Eor

  • 7/23/2019 Script Linux 1

    109/127

    1E

    0. +tros elementos importantes

    0. +tros elementos importantes

  • 7/23/2019 Script Linux 1

    110/127

    11E

    sar el resultado de un comando como !alor de

    otro comandoJ

    8 aGI6p/d7 &n a almacena el !alor de p/d

    ls Ia [uestra el listado de a

    #ara salir de un script

    8 &xit

    9si$nacin de un nue!o !alor a una !ariable

    8 let =!ariable>G=expresin>

    &5emploJ let aG1]3

    let aGIa]1

    0. +tros elementos importantes

  • 7/23/2019 Script Linux 1

    111/127

    111

    +peraciones aritmticasJ

    8 )uma 6]7 2]3

    8 esta 6B7 2B3

    8 [ultiplicacin 6S7 3S%

    8 Di!isin entera 6;7 3;2

    8 esto de di!isin entera 6^7 3^2

    8 &xponenciacin 6SS7 3SS2

    S Ker man bc para operaciones ms comple5as

  • 7/23/2019 Script Linux 1

    112/127

    112

    . unciones

    . unciones

  • 7/23/2019 Script Linux 1

    113/127

    113

    &s un elemento 4ue no es totalmente

    imprescindible para escribir un scriptH pero acilita

    muc*o la labor

    #ermite di!idir en mdulos la tarea a e5ecutar

    La uncin se caracteri:a por su nombre #uede tener ar$umentos de entrada cuyo !alor se

    determina en la llamada a la uncin

    Keamos la estructura y e5emplos de uso de unauncin

    . unciones

  • 7/23/2019 Script Linux 1

    114/127

    &Declaramo la '#nci!n( inicano %#e hace

    unction =nombre>

    _

    =comandos>

    `

    &El l#)ar ee el %#e e in*oca a la '#nci!n

    =nombre> ar$1 ar$2 R ar$'

    S 'otaJ Los ar$umentos simplemente se colocan separados por un espacioH utili:ndolosen la uncin con I1H I2H etc

    11"

    . unciones

  • 7/23/2019 Script Linux 1

    115/127

    unction *ola _

    ec*o Mola

    `

    unction salir _

    ec*o )alir

    `

    &In*ocaci!n*ola

    salir

    11%

    'omKar Kalor

    J;script .;pruun1

    . unciones

  • 7/23/2019 Script Linux 1

    116/127

    unction *ola _

    ec*o Mola

    `

    unction salir _

    ec*o )alir

    `

    &In*ocaci!n*ola

    salir

    11,

    'omKar Kalor

    J;script .;pruun1

    . unciones

  • 7/23/2019 Script Linux 1

    117/127

    unction *ola _

    ec*o Mola

    `

    unction salir _

    ec*o )alir

    `

    &In*ocaci!n*ola

    salir

    11-

    'omKar Kalor

    J;script .;pruun1

    . unciones

  • 7/23/2019 Script Linux 1

    118/127

    unction *ola _

    ec*o Mola

    `

    unction salir _

    ec*o )alir

    `

    &In*ocaci!n*ola

    salir

    110

    'omKar Kalor

    J;script .;pruun1

    Mola

    . unciones

  • 7/23/2019 Script Linux 1

    119/127

    unction *ola _

    ec*o Mola

    `

    unction salir _

    ec*o )alir

    `

    &In*ocaci!n*ola

    salir

    11

    'omKar Kalor

    J;script .;pruun1

    Mola

    . unciones

  • 7/23/2019 Script Linux 1

    120/127

    unction *ola _

    ec*o Mola

    `

    unction salir _

    ec*o )alir

    `

    &In*ocaci!n*ola

    salir

    12E

    'omKar Kalor

    J;script .;pruun1

    Mola

    . unciones

  • 7/23/2019 Script Linux 1

    121/127

    unction *ola _

    ec*o Mola

    `

    unction salir _

    ec*o )alir

    `

    &In*ocaci!n*ola

    salir

    121

    'omKar Kalor

    J;script .;pruun1

    Mola

    )alir

    . unciones

  • 7/23/2019 Script Linux 1

    122/127

    unction *ola _

    ec*o Mola

    `

    unction salir _

    ec*o )alir

    `

    &In*ocaci!n*ola

    salir

    122

    'omKar Kalor

    J;script .;pruun1

    Mola

    )alir

    J;script

    . unciones

  • 7/23/2019 Script Linux 1

    123/127

    unction imprimir _

    ec*o I1

    `

    imprimir Mola

    123

    'omKar Kalor

    J;script .;pruun2

    . unciones

  • 7/23/2019 Script Linux 1

    124/127

    unction imprimir _

    ec*o I1

    `

    imprimir Mola

    12"

    'omKar Kalor

    J;script .;pruun2

    . unciones

  • 7/23/2019 Script Linux 1

    125/127

    unction imprimir _

    ec*o I1

    `

    imprimir Mola

    12%

    'omKar Kalor

    J;script .;pruun2

    I1 Molaor

    . unciones

  • 7/23/2019 Script Linux 1

    126/127

    unction imprimir _

    ec*o I1

    `

    imprimir Mola

    12,

    'omKar Kalor

    J;script .;pruun2

    Mola

    I1 Molaor

    . unciones

  • 7/23/2019 Script Linux 1

    127/127

    unction imprimir _

    ec*o I1

    `

    imprimir Mola

    'omKar Kalor

    J;script .;pruun2

    Mola

    J;script

    I1 Molaor