Diferencia entre revisiones de «Usuario:ManuelRomero/Shell»
De WikiEducator
(→Leer ficheros) |
(→Variables) |
||
Línea 11: | Línea 11: | ||
===Variables=== | ===Variables=== | ||
*Definir variables, directamente '''''variable=valor''''' | *Definir variables, directamente '''''variable=valor''''' | ||
− | <source lang = | + | <source lang = bash> |
#!/bin/sh | #!/bin/sh | ||
edad = 5 | edad = 5 | ||
Línea 30: | Línea 30: | ||
;Determinar el valor de una variable de caracteres | ;Determinar el valor de una variable de caracteres | ||
El valor de la variable ($var) está vacío (null): | El valor de la variable ($var) está vacío (null): | ||
− | <source lang= | + | <source lang=bash> |
if [ "$var" == "" ] then | if [ "$var" == "" ] then | ||
echo variable is null | echo variable is null | ||
Línea 37: | Línea 37: | ||
El valor de la variable ($var) vale manolo | El valor de la variable ($var) vale manolo | ||
− | <source lang= | + | <source lang=bash> |
if [ "$var" == "manolo" ] then | if [ "$var" == "manolo" ] then | ||
echo variable vale manolo | echo variable vale manolo |
Revisión de 08:57 16 abr 2013
Contenido
Iniciando el programa
- Primera línea hay que indicar que tipo de shell es
#!/bin/sh
- Visualizar un mensaje por pantalla comando echo
#!/bin/sh echo Esto es un shell je je
Variables
- Definir variables, directamente variable=valor
#!/bin/sh edad = 5 nombre = pedro echo hola $nombre tienes %edad años
- Variables disponibles
- $0
- contiene el nombre nombre de nuestro script
- $#
- el número de parámetros con los que se ha invocado al shell
- $n
- los parámetros, con n de 1 a 9 (a $#)
- $$
- el PID de nuestro proceso
- $*
- todos los parámetros menos $0
- Determinar el valor de una variable de caracteres
El valor de la variable ($var) está vacío (null):
if [ "$var" == "" ] then echo variable is null fi
El valor de la variable ($var) vale manolo
if [ "$var" == "manolo" ] then echo variable vale manolo fi
Leer variables
- read
- Con este comando leemos una variable del teclado
Para debugar
#!/bin/bash -xv
Leer ficheros
while read linea do comando done < archivo
Comando if
if TEST-COMMANDS; then CONSEQUENT-COMMANDS; elif MORE-TEST-COMMANDS; then MORE-CONSEQUENT-COMMANDS; else ALTERNATE-CONSEQUENT-COMMANDS; fi