Escuela deInformática y Telecomunicaciones
La Shell Bash
Escuela deInformática y Telecomunicaciones
Capitulo 1
Introducción a Bash
3© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Shell BashLa shell es lo que ve cuando abre una
terminal y lo que más usa para iniciar cada comando
Hay una variedad de shells disponibles, pero todas hacen los mismo:
–Escuchar comandos–Iniciar procesos–informar los resultados
4© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Shell BashLa shell más utilizada en Linux es la shell
bash, la cual es la shell por defecto en Red Hat Enterprise Linux
La shell bash tiene capacidades de gran alcance para facilitar tareas complejas o incluso hacerlas posibles.
Está diseñada para 2 tipos diferentes de uso shell interactiva y script de shell
5© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Shell interactiva Permite interactuar con el usuario
Repiten el ciclo de :–Escuchar una línea de comandos–Evalúa el comando solicitado–Realiza todas las acciones solicitadas –Muestra los resultados
La shell escucha al teclado de entrada y emplea la tecla de ENTER para reconocer el final de la entrada
6© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Script de Shell Los scripts de la shell bash son programas
pequeños escritos mediante la misma sintaxis que se utiliza en la línea de comandos.
Permiten a los usuarios automatizar las acciones repetidas al combinar una serie de comandos
Ejecutan una serie de comandos en modo no interactivo
La shell bash provee una programación lógica (tales como ramas y bucles) para escribir scripts sofisticado
7© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Shell de inicio Cada vez que alguien inicie sesión o abra una terminal,
una shell se inicia automáticamente
La shell es sólo "otro programa", nuevas shells pueden iniciarse desde la shell existente
La nueva shell se denomina subshell de la shell original
Cuando se sale de la subshell, el control vuelve a la shell original
8© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
El archivo ~/.bashrc Al iniciarse la shell bash busca en el
directorio de inicio del usuario un archivo titulado .bashrc
Los comandos listados en el archivo se ejecutan como si fueran escritos en la línea de comandos
9© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Historial de comandos El comando shell bash mantiene el
historial de cada uno de los comandos escritos por el usuario
Ofrece varias formas para desplegar el historial
La más común es con el comando History
10© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Sustitución de historial La shell bash también realiza "sustitución
de historial", la cual se desencadena por el signo de exclamación
11© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Conservar el historial entre sesiones La shell bash conserva los historiales de
comandos entre sesiones en el archivo .bash_history en el directorio de inicio
Los comandos ejecutados en un proceso bash no están disponibles en el historial cuando se ejecutan más de un bash en forma simultanea
La última shell al salir sobrescribirá las historias de las shells que salieron anteriormente
12© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Conservar el historial entre sesiones
13© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Trucos del historial de comandos ESC-. y ALT-.
–El último simbolo de un comando suele representar el objeto que alguien está manipulando.
CTRL-R –Muestra los comando tecleados anteriormente
fc–Permite editar el comando con el editor vi
Escuela deInformática y Telecomunicaciones
Capitulo 2
Listas de comandos y scripts
15© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Ejecución de comandos Ejecución de comandos múltiples
–La shell bash permite a los usuarios unir comandos múltiples en una sola línea de comandos separando los comandos con un ;.
Ejecución de comandos en una subshell –Permite a los usuarios la fácil ejecución de comandos en una subshell, delimitando el comando entre paréntesis.
–Las subshells se utilizan para evitar efectos secundarios.
16© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Ejecución de comandosEjemplo con subshell
Ejemplo sin subshell
[elvis@station elvis]$ (cd /etc/X11; ls)
[elvis@station elvis]$ bash [elvis@station elvis]$ cd /etc/X11; ls [elvis@station elvis]$ exit
17© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Introducción a los scripts de shell Los comandos se envían a través de un
programa específico llamado intérprete, el cual ejecuta un comando a la vez.
Este intérprete suele ser la shell bash
18© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Que se debe saber de los script de shell La primera línea de su script debe especificar a
qué intérprete enviar las instrucciones.
Se hace con una cadena especial llamada "shebang" y le sigue el interprete para el script –Ejemplo, para usar bash como su intérprete usted debería usar #!/bin/sh o #!/bin/bash.
–La mayoría de los scripts sólo usan #!/bin/sh.
19© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Que se debe saber de los script de shell Antes de ejecutar un script, se debe habilitar el
permiso "ejecutable" en él (de lo contrario, es sólo un archivo de texto).
Por seguridad no se puede ejecutar el script en el directorio actual, ya que existen rutas de ejecución–Se pueden utilizar comodines relativos (~/foo.sh o ./foo.sh)
–colocar el script en un directorio que sea parte de su RUTA o crear una carpeta bin dentro del home
20© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Ejemplo de script
21© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Valores de retorno Cada proceso en Linux tiene un ciclo de vida
–los procesos comienzan a solicitud de otro proceso (a menudo shell).
–El proceso solicitado se denomina padre y el proceso recién nacido el hijo
–proceso hijo suele realizar sus deberes y luego muere
–Un proceso de salida deja atrás una pequeña parte de información cuando muere (retorno o estatus de salida)
–El proceso padre es responsable de reunir los valores de retorno de los hijos muertos
22© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Valores de retorno
Los valores de retorno vienen en forma de enteros los cuales van de 0 a 255
Los programas pueden escoger libremente el valor al salir
Un programa devuelve en 0 para implicar "éxito"
Se almacena el valor de retorno del comando ejecutado anteriormente en una variable especial llamada ?–echo $?
23© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Ejecución de comandos múltiples de modo condicional La shell bash usa &&y || para unir dos
comandos de modo condicional
Cuando los comandos se unen de este modo, el primero siempre se ejecutará.
El segundo comando puede que se ejecute o no dependiendo del valor de retorno del primer comando
24© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Ejecución de comandos múltiples de modo condicional
Comando && (and)–En caso que el primer comando tenga éxito se ejecuta el siguiente comando
Comando || (or)–En caso que el primer comando fallara se ejecuta el siguiente
Escuela deInformática y Telecomunicaciones
Capitulo 3
Variable de bash
26© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Conceptos básicos de la variable de shell La shell bash le permite a los usuarios
establecer y hacer referencia a las variables de shell
Una variable de shell es simplemente un valor con nombre que la shell recuerda
Se pueden utilizar en comandos y scripts de shell y pueden también referenciarse en programas como opciones de configuración
Hay dos tipos de variables de shell: variables locales y variables de entorno
27© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Variables locales
Existe solo dentro de la shell en la cual se crea Las shells hijas heredan las variables de entorno
como cuando se lanza una terminal después de iniciar sesión
Las variables se establecen y se configuran con una sintaxis VAR=valor y se referencian con una sintaxis $VAR.
La variable se referencia con el comando unset
28© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Detalles de la variable de shell
Los nombres de variables pueden ser cualquier cadena de caracteres alfanuméricos (A-Z, a-z, 0-9), y el guión bajo (_)
No pueden comenzar por un número Distinguen mayúsculas de minúsculas Si quiere establecer una variable a un valor que
contenga espacios, debe incluir el valor entre comillas
Utilizar corchetes para delinear nombres de variable siempre es correcto
29© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Variables de Bash
Variables Bash de sólo lectura
30© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Variables de Bash
Variables Bash preasignadas
31© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Variables de entorno
Una variable de shell se crea y luego la variable de shell es "promovida" a una variable de entorno mediante el comando export
32© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Listado de variables El comando set, sin argumentos, lista las
variables de shell y las variables de entorno asociadas con la shell, mientras que el comando env, otra vez sin argumentos, lista sólo variables que han sido exportadas al entorno.
33© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Variables de entorno más utilizadas
34© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Variable PATH Cuando se ingresa un comando por la shell
bash la consola debe buscar el comando en el sistema
Si la búsqueda fuera completa demoraría mucho la consola
La variable de entorno PATH contiene una lista de directorios en los cuales deberían buscar los archivos ejecutables, separados por una coma
Escuela deInformática y Telecomunicaciones
Capitulo 4
Expansión de la línea de comandos
36© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Generalidades Antes de ejecutar un comando, la shell
bash ejecuta varias expansiones en la línea de comandos.
Varios tipos de expansiones de bash, tales como la expansón del nombre de ruta (comodín) y la expansión de variables ya se han descrito
37© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Expansión de la línea de comandos
38© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Expansión de llaves
La expansión de llaves expande una sola palabra en palabras múltiples
Sustituye uno de los elementos en "llave" para cada palabra.
Ejemplo–La expresión {c,b,r}at se expandiría en tres palabras cat bat rat
39© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Expansión de llaves[prince@station prince]$ mkdir chap{01,02,03,04}
|-- chap01/
|-- chap02/
|-- chap03/
`-- chap04/
40© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Expansión de llaves
[prince@station prince]$ mkdir chap{01,02}/{html,text}
|-- chap01/
| |-- html/
| `-- text/
|-- chap02/
| |-- html/
`-- text/
41© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Expansión de tilde expande un ~nombredeusuario para el
usuario del directorio de inicio del nombredeusuario
42© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Expansión aritmética
La shell bash trata de manera especial texto delimitado con una sintaxis $((...))
Las variables se tratan como enteros numéricos y los operadores matemáticos estándar como +, -, *, y / se tratan como tal.
La shell bash sólo soporta enteros aritméticos.
43© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Sustitución de comandos
Permite a los usuarios ejecutar comandos arbitrarios en la subshell e incorporar los resultados dentro de la línea de comandos
La sintaxis de antigua era encerrar el comando entre "acentos graves"
La sintaxis más moderna similar a la expansión aritmética, pero con solo un par de paréntesis: $(subcomando)
44© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Expansión de nombre de ruta
45© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Comillas y caracteres de escape
La shell bash proporciona tres mecanismos para evitar que los caracteres sean interpretados por la shell, escapando, utilizando comillas dobles o sencillas.
46© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Comillas y caracteres de escape
47© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Comillas y caracteres de escape
Comillas dobles: "..."–Las comillas dobles se utilizan en situaciones donde usted desearía tratar la mayoría de la puntuación literalmente o combinar palabras en un sólo símbolo, pero aún puede hacer uso de variables, sustitución de comandos y sustitución de historial
Comillas sencillas inclinadas a la derecha (apóstrofes): '...'–Las comillas sencillas son las más poderosas y se utilizan en situaciones similares a las comillas dobles cuando quiere que toda la puntuación, incluyendo las variables y la sustitución de comandos, se traten literalmente.
48© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Comillas y caracteres de escape
Comillas sencillas inclinadas hacia la izquierda (acentos graves): `...`
–Los acentos graves son básicamente diferentes a las comillas simples o dobles, no son para citar. Estos acentos se utilizan para invocar la sustitución de comandos en el texto incluido.
49© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Otras expansionesExpansión de variables
–$VARNAME o ${VARNAME}
Expansión del historial
Escuela deInformática y Telecomunicaciones
Capítulo 5
Personalización de la shell
51© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Comandos internos de la shell
Al evaluar una línea de comandos, la shell trata la primera palabra como un comando.
La shell bash implementa algunos comandos de modo interno, lo que significa que los comandos no existen en el sistema de archivos como un programa cargable, sino que la shell misma los implementa.
Estos comandos se conocen como comandos internos de la shell.
Estos suelen ser comandos sencillos relacionados con cambios a la shell misma.
52© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Comandos internos de la shellLos comandos internos al no ser parte de
un programa cargado, al consultar su origen no va a mostrar nada (which cd)
Un ejemplo de comando interno es el comando help
Otros comandos utilizados son: cd, pwd, echo
53© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
AliasLos alias permiten a los usuarios
personalizar los nombres de los comandos o enlazar comandos con las opciones o argumentos más utilizados.
Una vez creados, los alias se utilizan como si fueran cualquier otro comando.
54© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Alias
Los alias se crean (y examinan) mediante el comando interno alias.–alias NAME=VALOR
Este comando crearía un alias denominado NOMBRE, el cual apuntaría al valor VALOR.
La asignación de alias no permite espacios en ningún lado del signo de igual
Las frases que contienen múltiples palabras (separadas por espacios) deben ir entre comillas
El comando alias también se utiliza para examinar los alias actualmente definidos.
55© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
unaliasLos alias se pueden suprimir con el
comando interno de la shell unalias.
Para suprimir un alias, pase el nombre de alias como un argumento al comando unalias
56© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Evaluación de alias ¿Cuándo busca alias la shell de bash ?
Se busca alias en donde se espera un comando
Si la primera palabra es reconocida como un alias , el alias se expande
La excepción es si el alias se expande al comando que tiene el mismo nombre de alias en cuyo caso la shell simplemente ejecuta la expansión y sigue adelante
57© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Algoritmo de Ejecución de comandos
1.Realiza cualquier expansión de la shell
2.¿La palabra se define como un alias? Si es así, expanda el alias y vuelva a comenzar (a menos que el alias se expanda a un comando que tenga el mismo nombre del alias en cuyo caso expande el alias y empieza de nuevo, pero no vuelve a expandir alias).
3.¿La palabra se define como una función de una shell? Si es así, llame la función de la shell en la shell actual, (las funciones de la shell van más allá del alcance de este curso, pero están incuídas aquí para completar la información).
4.¿La palabra es un comando intermo de la shell? Si es así, ejecute el comando interno.
5.¿La palabra contiene un /? Si es así, ejecute el archivo si existe y tiene permisos ejecutables.
6.Si la palabra no contiene un /, busque un archivo con un nombre similar en todos los directorios en orden como se definió en el entorno de variable PATH. Si existe un archivo coincidente y tiene permisos ejecutables, ejecute el archivo.
58© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Personalizar el intérprete de comandos de bash
Escuchar Evaluar
Ejecutar
Interprete Primario PS1
Interprete Secundario PS2
¿Falta por ejecutar?
59© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Personalización de PS1 y PS2
60© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Personalización de PS1 y PS2
Secuencias de escape comunes utilizadas en intérpretes de comandos bash
61© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Banderas de la shell: el comando interno setCuando se utiliza con la línea de
comandos, como suele ser el caso, el comando se utiliza para establecer, o anular las banderas de shell.
Cuando se llamado sin argumentos, el comando set visualiza todas las variables de shell y sus valores
62© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Banderas de la shell: el comando interno set
63© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Banderas de la shell: el comando interno set
El comando set con la sintaxis normal de las opciones (tal como set -x) habilita la bandera especificada. Para inhabilitar la bandera, remplace el guión (-) por un signo más (+) (tal como set +x).
64© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Opciones de la shell: el comando interno shoptEl comando bash también tiene una
segunda serie de variables de configuración, las cuales se conocen como "opciones de shell“
Se establecen –shopt -s nombreopción
Se anulan–shopt -u nombreopción
65© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Opciones de la shell: el comando interno shopt
El comando shopt nombreopción visualiza el estado actual de la opción
Solo shopt visualiza todas las opciones de la shell
66© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Opciones de la shell: el comando interno shopt
Escuela deInformática y Telecomunicaciones
Capítulo 6
Lectura de scripts de shell e inicialización de shell
68© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Lectura de scriptsLa shell bash lee el archivo de script y lo
ejecuta como si ingresaran los comandos por teclado
La ejecución puede modificar las variables y configuraciones de la shell actual
69© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Tipos de ShellLas shell se pueden diferenciar en 2
grupos–Shells diferenciadas por el tipo de inicio• Shell de inicio de sesión• Shell de no inicio o de inicio manual
–Shells diferenciadas por la interacción con el usuario• Shell interactiva• Shell no interactiva
70© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Tipos de Shell
Shell de inicio de sesión–Shells que se accede al acceder a una consola virtual o maquina remota
–Primero se lee el archivo /etc/profile para inicializar variables de entorno
–Luego origina todos los archivos coincidentes al patrón /etc/profile.d/*.sh.
–Busca una serie de archivos en el directorio de inicio del usuario• ~/.bash_profile
–Busca y origina el archivo~/.bashrc
71© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Tipos de Shell
Shells de no-inicio de sesión (interactivas)–El único archivo utilizado para personalizar shells de no-inicio de sesión es el archivo
~/.bashrc–También existe el archivo de configuración global en /etc/bashrc
Shells de no-inicio de sesión (no interactivas)–No leen por defecto ninguno de los archivos de arranque (aunque esta conducta puede
cambiarse estableciendo la variable de entorno BASH_ENV)
72© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Archivos de configuración de arranque bash
73© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
¿Por qué hay de shells de inicio y no inicio de sesión? Al arrancar, los varios scripts de arranque
leídos por shells de inicio tienden a emplear mucho tiempo personalizando variables de entorno
Cuando las subsehells se inician, no se necesita repetir todo este trabajo.
Cuando un proceso hijo es generado por la shell de inicio de sesión, las variables de entorno se copian automáticamente en el hijo
74© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
¿Por qué hay de shells de inicio y no inicio de sesión?
Archivos de configuración de arranque bash
75© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
¿Por qué hay shells interactivas y no - interactivas?Las shells no-interactivas son shells
iniciadas como resultado de ejecutar un script
Con el fin de evitar posibles efectos secundarios del script de arranque, las shells no-interactivas no leen scripts de arranque tras el inicio.
76© 2007 Cisco Systems, Inc. Todos los derechos reservados. Cisco Public
Escuela de Informática y Telecomunicaciones
Salida de las shells de inicio de sesión: ~/.bash_logoutTras la salida, las shells de inicio de
sesión leerán el archivo ~/.bash_logout si existe.
En RHEL el archivo simplemente ejecuta el comando clear para que la pantalla se limpie de información tras la salida.
Top Related