P R O F . P A B L O M A C Ó N
H T T P : / / S O I I - I T S . B L O G S P O T . C O M
2 º I B
Introducción a
shell script
BASH
Shell es un programa que recubre al
núcleo del Sistema Operativo y que nos
permite acceder a las funciones del SO
de una manera más sencilla aún.
en Linux usamos BASH, que quiere decir
Bourne Again Shell.
BASH
Características heredadas
Manipulación de directorios.
Control de trabajos.
Expansión de llaves, para la generación de
cadenas arbitrarias.
BASH
Características heredadas
Carácter tilde (~), manera de referenciar al
directorio home.
Alias permiten usar nombres cortos
comandos y sus opciones.
Histórico de comandos, que posibilita
reutilizar comandos previamente tipeados
BASH
Características nuevas:
 Edición de línea de comandos, permite usar comandos
al estilo vi o emacs.
 Características de programación integrada: la
funcionalidad de comandos UNIX (test, expr, getopt,
echo) se integraron en el shell, permitiendo que
tareas comunes de programación sean realizadas
más clara y eficientemente.
BASH
Características nuevas:
Estructuras de control, especialmente el
select para la generación sencilla de menús.
Opciones y variables nuevas permiten
personalizar más el entorno.
Arrays uni-dimensionales que permiten fácil
acceso a lista de datos.
VARIABLES
Porciones de memoria
Asociadas a un nombre simbólico
Pueden contener información
Ese valor puede ser cambiado en
cualquier momento
VARIABLES DE ENTORNO
son parte del sistema operativo
nos dan información sobre el SO
por ejemplo qué usuario está usando el
Sistema, cual es el home.
VARIABLES DE ENTORNO
Una variable de entorno es un objeto
designado para contener información
usada por una o más aplicaciones.
Usando variables de entorno podemos
cambiar una opción de configuración
para una o más aplicaciones fácilmente.
VARIABLES DE ENTORNO
COMANDO echo
Para ver las variables, vamos a usar el comando
echo que despliega en la salida estándar
cualquier elemento que se le indique como
argumento
echo [-opciones][cadena]
Echo permite también formatear la salida,
utilizando la opción -e, podemos mostrar
cadenas con columnas, etc.
COMANDO echo
COMANDO echo
Probemos:
echo -e “hola amundo”
echo -e “hola bmundo”
echo -e “hola cmundo”
echo -e “hola nmundo”
echo -e “hola tmundo”
COMANDO echo
echo también nos va a servir para mostrar todo
tipo de variables, en este caso usamos el
símbolo $ delante del nombre de la variable
echo $PATH
echo $LOGNAME
echo $HOME
VARIABLES DE USUARIO
En Linux, por defecto, todas las variables
son cadenas de caracteres, no hay tipos
como int, char, long...
Si las queremos usar en una suma vamos
a tener que indicarle al sistema con un
comando especial
VARIABLES DE USUARIO
Declarar una variable:
nombre_Variable=valor
(sin espacios a ambos lados del signo igual)
var1=hola
var2=mundo
echo $var1 $var2
VARIABLES DE USUARIO
Declarar una variable:
También podemos asignar una cadena
con varias palabras, pero para eso
tenemos que ponerlas entre comillas
dobles
var3=”hola mundo”
echo $var3
VARIABLES DE USUARIO
Declarar una variable:
podemos poner también las secuencias
de escape
var4=”holanmundo”
echo $var4
echo -e $var4
VARIABLES DE USUARIO
También podemos usar comillas simples y
meter un comando que usamos mucho en
una variable con nombre corto.
respaldo='cp /home/pablo/archivos
/home/pablo/respaldo'
cada vez que quiera usar el comando: $respaldo
VARIABLES DE USUARIO
Por último podemos poner el resultado
de un comando en una variable, con las
comillas invertidas:
var6=`ls`
echo $var6

Variables y comillas en Linux

  • 1.
    P R OF . P A B L O M A C Ó N H T T P : / / S O I I - I T S . B L O G S P O T . C O M 2 º I B Introducción a shell script
  • 2.
    BASH Shell es unprograma que recubre al núcleo del Sistema Operativo y que nos permite acceder a las funciones del SO de una manera más sencilla aún. en Linux usamos BASH, que quiere decir Bourne Again Shell.
  • 3.
    BASH Características heredadas Manipulación dedirectorios. Control de trabajos. Expansión de llaves, para la generación de cadenas arbitrarias.
  • 4.
    BASH Características heredadas Carácter tilde(~), manera de referenciar al directorio home. Alias permiten usar nombres cortos comandos y sus opciones. Histórico de comandos, que posibilita reutilizar comandos previamente tipeados
  • 5.
    BASH Características nuevas:  Ediciónde línea de comandos, permite usar comandos al estilo vi o emacs.  Características de programación integrada: la funcionalidad de comandos UNIX (test, expr, getopt, echo) se integraron en el shell, permitiendo que tareas comunes de programación sean realizadas más clara y eficientemente.
  • 6.
    BASH Características nuevas: Estructuras decontrol, especialmente el select para la generación sencilla de menús. Opciones y variables nuevas permiten personalizar más el entorno. Arrays uni-dimensionales que permiten fácil acceso a lista de datos.
  • 7.
    VARIABLES Porciones de memoria Asociadasa un nombre simbólico Pueden contener información Ese valor puede ser cambiado en cualquier momento
  • 8.
    VARIABLES DE ENTORNO sonparte del sistema operativo nos dan información sobre el SO por ejemplo qué usuario está usando el Sistema, cual es el home.
  • 9.
    VARIABLES DE ENTORNO Unavariable de entorno es un objeto designado para contener información usada por una o más aplicaciones. Usando variables de entorno podemos cambiar una opción de configuración para una o más aplicaciones fácilmente.
  • 10.
  • 11.
    COMANDO echo Para verlas variables, vamos a usar el comando echo que despliega en la salida estándar cualquier elemento que se le indique como argumento echo [-opciones][cadena] Echo permite también formatear la salida, utilizando la opción -e, podemos mostrar cadenas con columnas, etc.
  • 12.
  • 13.
    COMANDO echo Probemos: echo -e“hola amundo” echo -e “hola bmundo” echo -e “hola cmundo” echo -e “hola nmundo” echo -e “hola tmundo”
  • 14.
    COMANDO echo echo tambiénnos va a servir para mostrar todo tipo de variables, en este caso usamos el símbolo $ delante del nombre de la variable echo $PATH echo $LOGNAME echo $HOME
  • 15.
    VARIABLES DE USUARIO EnLinux, por defecto, todas las variables son cadenas de caracteres, no hay tipos como int, char, long... Si las queremos usar en una suma vamos a tener que indicarle al sistema con un comando especial
  • 16.
    VARIABLES DE USUARIO Declararuna variable: nombre_Variable=valor (sin espacios a ambos lados del signo igual) var1=hola var2=mundo echo $var1 $var2
  • 17.
    VARIABLES DE USUARIO Declararuna variable: También podemos asignar una cadena con varias palabras, pero para eso tenemos que ponerlas entre comillas dobles var3=”hola mundo” echo $var3
  • 18.
    VARIABLES DE USUARIO Declararuna variable: podemos poner también las secuencias de escape var4=”holanmundo” echo $var4 echo -e $var4
  • 19.
    VARIABLES DE USUARIO Tambiénpodemos usar comillas simples y meter un comando que usamos mucho en una variable con nombre corto. respaldo='cp /home/pablo/archivos /home/pablo/respaldo' cada vez que quiera usar el comando: $respaldo
  • 20.
    VARIABLES DE USUARIO Porúltimo podemos poner el resultado de un comando en una variable, con las comillas invertidas: var6=`ls` echo $var6