SlideShare a Scribd company logo
1 of 24
Download to read offline
La shell bash
1
Capítulo 1 Introducción a Bash
Conceptos clave
• La shell por defecto en Red Hat Enterprise Linux es la shell bash.
• La shell bash se puede utilizar de modo interactivo o como un lenguaje de
escritura de gran alcance.
• Tras el arranque, bash ejecuta comandos hallados en el archivo ~/.bashrc,
permitiéndole a los usuarios personalizar su shell.
• La shell bash guarda el historial de las líneas de comando ejecutadas. La líneas
de comando se pueden recuperar desde el historial mediante varias expansiones
de historial que comienzan por "!".
Preguntas
Question 1
¿Cuál es la shell predeterminada en Red Hat Enterprise Linux?
A. /bin/conch
B. /bin/sh
C. /usr/bin/tcsh
D. /bin/bash
E. None of the above
Question 2
¿Qué podría interpretarse como un comentario de una shell bash?
A. /* blagh */
B. % blagh
C. # blagh
D. B and C
E. None of the above
Question 3
La shell bash
2
¿Para cuál de las siguientes tareas la shell bash se utiliza más?
A. Ejecutar comandos para usuarios de modo interactivo
B. Cálculos numéricos
C. Ejecución automática de comandos desde scripts
D. A y C
E. Todas las anteriores
Question 4
Tras arrancar, ¿desde qué archivo bash ejecuta automáticamente los comandos?
A. ~/bash_startup
B. ~/.bash_startup
C. ~/.bash
D. ~/.bashrc
E. None of the above
Utilice la siguiente salida del comando history para contestar las siguientes 4 preguntas.
Para cada pregunta, asuma que el comando se teclea directamente después del comando
history como se muestra a continuación.
[elvis@station elvis]$ history
4 cd ..
5 ls
6 cd doc/
7 ls
...
977 xmms &
978 ls -al /tmp/.esd/socket
979 rm /tmp/.esd/socket
980 ps aux | grep karen
981 pgrep -u karen
982 rm /tmp/.esd/socket
983 su
984 ls
985 ls -l /tmp/.esd/
986 ls -ld /tmp/.esd/
987 s u
988 su
989 history
Question 5
La shell bash
3
¿Qué comando se sustituiría si elvis después tecleara !5?
A. xmms &
B. rm /tmp/.esd/socket
C. ls
D. historial
E. None of the above
Question 6
¿Qué comando se sustituiría si elvis después tecleara !!?
A. xmms &
B. cd ..
C. su
D. ls
E. None of the above
Question 7
¿Qué comando se sustituiría si elvis después tecleara !-5?
A. xmms &
B. ls
C. ls -l /tmp/.esd/
D. historial
E. None of the above
Question 8
La shell bash
4
¿Qué comando se sustituiría si elvis después tecleara !p?
A. ps aux | grep karen
B. pgrep -u karen
C. ps aux
D. pico /etc/hosts
E. La sustitución no se puede determinar a partir de la información provista.
Question 9
¿Qué secuencias se pueden utilizar para acceder a partes del historial de comandos de
bash?
A. ESC-.
B. CTRL-.
C. CTRL-H
D. CTRL-ALT-F3
E. None of the above
Question 10
¿Qué comando se utiliza para listar el historial de comandos de bash?
A. historial
La shell bash
5
B. hist
C. h
D. command
E. A y D
Capítulo 2 Listas de comandos y scripts
Conceptos clave
• Comandos múltiples se pueden separar con un ;.
• Tras la salida, cada comando devuelve un entero a su padre denominado valor de
retorno.
• La variable de shell $? se expande al valor de retorno de un comando ejecutado
previamente.
• && y || separan condicionalmentecomandos múltiples.
Preguntas
Después de ejecutar una línea de comando desde un inteŕprete de comandos interactivo
bash se presentarán los siguientes mensajes:
bash: timelog: Permission denied
timestamp failed
Question 1
¿Cuál de los siguientes comandos pudieron haber producido los mensajes?
A. date >> timelog || echo timestamp failed
La shell bash
6
B. date >> timelog && echo timestamp failed
C. date >> timelog ; echo timestamp failed
D. A y C
E. Todas las anteriores
Question 2
¿Qué expresión mostrará el valor de retorno de la shell actual en ejecución?
A. echo $?
B. echo $$
C. echo $RET_VAL
D. A y C
E.
The question is misconceived, because the current shell does not have a return
value until it exits.
Use the following transcript to answer the next 2 questions.
[elvis@station elvis]$ echo "stomp" > blue_suede_shoes
[elvis@station elvis]$ chmod 600 blue_suede_shoes
[elvis@station elvis]$ cat blue_suede_shoes
stomp
Question 3
¿Qué comando podría ejecutar elvis para ver el valor de retorno del comando cat?
A. echo $!
B. echo $$
C. echo $?
D. A y C
E. None of the above
Question 4
¿Qué comando podría ejecutar elvis para visualizar el valor de retorno del comando
chmod?
A. echo $!
La shell bash
7
B. echo $-$
C. echo $$
D. echo $RET_chmod
E. None of the above
Question 5
¿Qué ejecutaría el comando chmod sólo si el comando mkdir tiene éxito?
A. mkdir mail || chmod 700 mail
B. mkdir mail && chmod 700 mail
C. mkdir mail ; chmod 700 mail
D. mkdir mail | chmod 700 mail
E. None of the above
Question 6
¿Qué ejecutaría el comando chmod sólo si el comando mkdir falla?
A. mkdir mail | chmod 700 mail
B. mkdir mail && chmod 700 mail
C. mkdir mail ; chmod 700 mail
D. mkdir mail or chmod 700 mail
E. None of the above
Question 7
¿Qué ejecutaría el comando chmod sin importar el éxito o fracaso del comando mkdir?
A. mkdir mail | chmod 700 mail
B. mkdir mail && chmod 700 mail
C. mkdir mail ; chmod 700 mail
D. mkdir mail or chmod 700 mail
E. None of the above
Question 8
La shell bash
8
¿Cuál es la forma correcta de ejecutar los comandos cd y ls en una sola subshell?
A. cd /etc && ls
B. ( cd /etc ; ls)
C. { cd /etc ; ls}
D. ${ cd /etc ; ls}
E. None of the above
Question 9
Después de ejecutar con éxito el comando de la pregunta anterior, ¿cuál sería su
directorio actual de trabajo?
A. /
B. ~
C.
La pregunta es debatible. Ninguna de los comandos de la pregunta anterior es
correcta.
D. /etc
E.
The same directory from which the command line was executed. The current
shell's working directory would not change.
Question 10
Después de ejecutar la línea de comandos cd /tmp; ls, ¿cuál es su directorio de
trabajo actual?
A. /
B. ~
C. /ls
D. /etc
E. /tmp
Capítulo 3 Variable de bash
Conceptos clave
• Las variables de la shell se asignan mediante una sintaxis A=apple.
La shell bash
9
• Las variables se examinan ("desreferencian") con el caracter $ como en echo
$A.
• En el nivel de kernel, cada proceso tiene una colección de variables de entorno
que los procesos hijos heredan.
• El comando export convierte una variable de shell en una variable de entorno.
• Los comandos set y env listan las variables de shell y las variables de entorno,
respectivamente.
Preguntas
Question 1
¿Qué no se utiliza como nombre de variable de shell?
A. NAME
B. PHONE_1
C. Addr2
D. ZipCode
E. All of the above could be used as the name of a shell variable.
Question 2
¿Cuál de los siguientes no puede utilizarse como nombre de una variable de entorno?
A. NAME
B. PHONE_1
C. Addr2
D. ZipCode
E. All of the above could be used as the name of a environment variable.
El usuario elvis lee el siguiente párrafo desde la página de manual date(1).
ENVIRONMENT
TZ Specifies the timezone, unless overridden by command
line param-
eters. If neither is specified, the setting from
/etc/localtime
is used.
Al ejecutar el comando date descubre que la zona horaria actual es EDT.
La shell bash
10
[elvis@station elvis]$ date
Fri Sep 5 15:46:02 EDT 2003
En un esfuerzo por configurar su zona horaria como MDT, elvis agrega la siguiente
línea al archivo .bashrc en su directorio de inicio.
TZ=MDT
Question 3
El usuario elvis inicia una nueva subshell y ejecuta el comando date, esperando ver la
fecha reportada en la zona horariaMDT. No obstante, el comando date aún reporta la
fecha en la zona horaria EDT. ¿Qué hizo mal elvis?
A. The variable TZ is being set as a shell variable, not an environment variable.
B.
Para que los cambios en el archivo ~/.bashrc surtan efecto, elvis debe salir y
reiniciar (en vez de iniciar una nueva subshell).
C.
elvis debe establecer permisos ejecutables en el archivo .bashrc en su
directorio de inicio.
D.
elvis utilizó una sintaxis errada y debería haber agregado la línea TZ = MDT en
su lugar.
E. Ninguna explica de forma adecuada el error que cometió elvis.
Question 4
¿Qué cambio debería hacer elvis para corregir su error?
A. Debería modificar la línea agregada a .bashrc para leer export TZ=MDT
B. Ejecutar el comandochmod a+x ~/.bashrc
C. Debería modificar la línea agregada a .bashrc para que lea TZ=MDT; export
TZ
D. Either A or C
E. Ninguno de estos pasos resolvería el problema.
Question 5
¿Qué establecería correctamente la variable de shell ADDR como 123 Elm St.?
A. ADDR= 123_Elm_St.
B. ADDR = 123 Elm St.
C. ADDR="123 Elm St."
La shell bash
11
D. ADDR=123_Elm_St.
E. None of the above.
Question 6
¿Cuál de las siguientes no es una característica de las variables de entorno?
A.
Todos los procesos usan variables de entorno, no sólo aquellos que ejecutan la
shell bash.
B. La variables de entorno son heredadas por defecto por los procesos hijos.
C. Upon startup, the bash shell clears all previously defined environment variables.
D.
Las variables de entorno pueden examinarse mediante archivos que se
encuentran en el sistema de archivos /proc.
E. Las variables de entorno poseen todas las características.
Question 7
¿Qué comando presentaría el id (pid) del proceso de la shell actual?
A. echo $$
B. echo $!
C. echo $PID
D. echo $BASH_PID
E. None of the above.
Question 8
¿Cuál de los siguientes comandos crearía un archivo llamado jan_reports.txt?
A. MONTH=jan; touch ${MONTH}_report.txt
B. MONTH=jan; touch $MONTH_report.txt
C. MONTH= jan; touch $MONTH_report.txt
D. MONTH= jan; touch $"MONTH"_report.txt
E. A y B
Question 9
La shell bash
12
¿Cuál de los siguientes comandos agregaría el directorio /opt/bin al valor actual de la
variable de entorno PATH?
A. PATH=$PATH:/opt/bin
B. PATH+=/opt/bin
C. PATH=${PATH}+"/opt/bin"
D. A y B
E. Todas las anteriores
El usuario elvis ejecuta el siguiente comando.
[elvis@station elvis]$ STYLE=terse
Question 10
¿Cuál de los siguientes comandos podría utilizarse para examinar el valor de STYLE?
A. set
B. env
C. cat /proc/$$/environ
D. export
E. A y C
Capítulo 4 Expansión de la línea de comandos
Conceptos clave
• La shell bash expande ciertos metacaracteres de línea de comandos antes de
interpretar el comando.
• La expansión con la tilde amplía los símbolos que comienzan por una tilde (~) a
los directorios de inicio de usuarios.
• La expansión de llaves amplía los símbolos con corchetes ({}) en palabras
múltiples, cada una contiene una sola palabra a partir de la lista especificada.
• La sustitución de comandos expande el texto delimitado por comillas invertidas
(``) o "dólar paréntesis" ($()) en la salida producida por el comando encerrado.
• Las comillas dobles ("..." ), las comillas sencillas ('...') y el caracter de barra
invertida pueden usarse para evitar que la shell expanda los caracteres.
La shell bash
13
Preguntas
Question 1
¿Qué signo de puntuación no está asociado con la expansión de la línea de comandos
bash?
A. { }
B. ~
C. $
D. *
E. %
Question 2
Cuando es evaluado por la shell bash, ¿ a cuántas palabras se expandirá lo siguiente?
{jan,feb,mar}.{data,report}.{txt,html}
A. 3
B. 8
C. 9
D. 12
E. 24
Question 3
¿Cuál de las siguientes líneas de comando crearían un archivo llamado make $ at
home!
A. touch "make $ at home"!
B. touch 'make $ at home!'
C. touch 'make $' at home!
D. A y C
E. Todas las anteriores
Question 4
La shell bash
14
En una instalación predeterminada de Red Hat Enterprise Linux, el símbolo
~aristotle muy probablemente se expandirá a qué directorio?
A. /home
B. /home/aristotle
C. /tmp/aristotle
D. /aristotle
E. None of the above
Question 5
Cuando el usuario plato ejecuta el siguiente comando, ¿cuál es el nombre del archivo en
que se escribe?
cal > calendar.$(id -un).txt
A. calendar.txt
B. calendar.plato.txt
C. calendar.id -un.txt
D. calendar.512.txt
E. None of the above
Question 6
Si asumimos que prince es un miembro de los grupos prince y music, ¿cuál de los
siguientes comandos produciría la siguiente salida?
I am a member of: prince music
A. echo "I am a member of: $(id -Gn)"
B. echo 'I am a member of: $(id -Gn)'
C. echo I am a member of: "id -Gn"
D. echo I am a member of: `id -Gn`
E. A y D
La shell bash
15
En la siguiente transcripción, prince está tratando de crear un archivo cuyo nombre de
archivo contenga la hora actual, tal como timestamp.10.23.43. Use la siguiente
transcripción para contestar las dos preguntas a continuación.
[prince@station prince]$ touch timestamp.'date +%H.%M.%S'
[prince@station prince]$ ls
timestamp.date +%H.%M.%S
Question 7
¿Cuál de las siguientes razones explican mejor el porqué prince no creó el nombre de
archivo que deseaba?
A.
Porque como el comando date (y su argumento) contiene un espacio, prince
tenía que haber utilizado comillas dobles.
B.
La shell bash no pudo localizar el comando date y por lo tanto dejó el comando
"tal como está" en lugar de ejecutar una sustitución de comandos.
C.
Porque como los caracteres de porcentaje en date no se escaparon,bash no
ejecutó sustitución de comandos.
D. The user prince did not use the correct syntax for command substitution.
E. None of the above.
Question 8
¿Cuál de las siguientes líneas ejecutarían correctamente la operación de prince?
A. touch timestamp.$(date +%H.%M.%S)
B. touch timestamp.$((date +%H.%M.%S))
C. touch timestamp.`date +%H.%M.%S`
D. A y C
E. None of the above
Use the following transcript to answer the next two questions.
[prince@station prince]$ COLOR=red
[prince@station prince]$ ls
Question 9
La shell bash
16
Si prince fuera luego a ejecutar el siguiente comando, ¿qué salida se produciría?
echo "My favorite colors are {blue,green,$COLOR} !!"
A. My favorite colors are {blue,green,red} ls
B. My favorite colors are blue green red !!
C. My favorite colors are blue green $COLOR ls
D. My favorite colors are {blue,green,$COLOR} !!
E. My favorite colors are {blue,green,red}
Question 10
Si prince fuera luego a ejecutar el siguiente comando, ¿qué salida se produciría?
echo 'My favorite colors are {blue,green,$COLOR} !!'
A. My favorite colors are {blue,green,red} ls
B. My favorite colors are {blue,green,$COLOR} !!
C. My favorite colors are blue green red !!
D. My favorite colors are blue green $COLOR ls
E. None of the above
Capítulo 5 Personalización de la shell
Conceptos clave
• La shell bash internamente implementa ciertos comandos sencillos que están
muy ligados con la conducta de la shell. Estos se conocen como los comandos
incorporados.
• Los alias de shell crean comandos aparentes que expanden a texto arbitrario.
• Los alias de shell se establecen y examinan con el comando alias.
• Los alias de shell se remueven con el comando unalias.
• El intérprete de comandos de la shell bash se puede personalizar mediante la
variable PS1.
• Las banderas de shell se pueden establecer con el comando set -f y se limpian
con set +f.
• Las opciones de shell se examinan, establecen y se anulan con el comando
shopt.
La shell bash
17
Preguntas
A title
El usuario prince está tratando de hallar el ejecutable para el comando cd. Use la
transcripción acontinuación para contestar la siguiente pregunta.
[prince@station prince]$ which cd
/usr/bin/which: no cd in
(/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/b
in:/home/prince/bin)
Question 1
¿Cuál es la mejor razón por la cual no se encontró el ejecutable para el comando cd?
A. El paquete RPM coreutils no está instalado en el sistema.
B. El comando vive fuera de la ruta de prince.
C. The command is a bash builtin command.
D.
La variable PATH está mal configurada (los directorios listados deberían ir
separados por espacios, no comas).
E. None of the above.
Question 2
¿cuál de los siguientes crearía un alias llamado tf el cual se expandiría a la frase tail -
f ?
A. alias tf=tail -f
B. tf=tail -f
C. alias tf="tail -f"
D. alias tf = "tail -f"
E. C y D
Question 3
¿Cuál de los siguientes se podría utilizar para examinar los alias actuales para tf?
A. alias -s tf
La shell bash
18
B. alias tf
C. showalias tf
D. alias -d tf
E. None of the above
Question 4
¿Cuál de los siguientes suprimiría el alias tf?
A. unalias tf
B. alias tf
C. rmalias tf
D. alias -d tf
E. None of the above
Question 5
El usuario prince ha personalizado su prompt para que aparezca de la siguiente manera.
El tiempo es la hora actual y el número 613 es el número de historial del comando
actual. ¿Cuál de los siguientes comandos configuraría la variable PS1 correctamente?
(02Sep03-11:11:53) [prince@tation ~] 613 $
A. PS1="(d) [u@h w] !# "
B. PS1="($(date)) [u@h] ! $ "
C. PS1="(d) [$(whoami)] ! $ "
D. PS1="($(date --iso-8601)) [u@h w] ! $ "
E. None of the above
La siguiente transcripción muestra a prince tratando de iniciar sesión en una consola
virtual. Refiérase a esto cuando conteste la siguiente pregunta.
Red Hat Enterprise Linux release 3 (Taroon)
Kernel 2.4.20-4ES on an i686
station login: prince
Password:
Last login: Tue Sep 9 08:43:15 on tty3
login: prince
-bash: prince: command not found
La shell bash
19
login:
Question 6
¿Cuál de las siguientes sería la explicación maś adecuada al problema de prince?
A. No hay ninguna cuenta para el usuario prince.
B.
Hay un error de sintaxis en el archivo ~/.bashrc, por lo tanto la shell está
saliendo en el arranque.
C. El usuario no tiene un directorio de inicio en la máquina local.
D. El usuario prince ha olvidado su contraseña.
E. The file ~/.bashrc contains the line PS1="nlogin: "
Use the following transcript to answer the next 3 questions.
[prince@station prince]$ ls /
+ ls --color=tty -w80 /
bin data du.out home lib misc opt rha RPMS tmp
var
boot dev etc initrd lost+found mnt proc root sbin usr
web
++ echo -ne '033]0;prince@station:~007'
[prince@station prince]$
Question 7
¿Qué esperaría prince que el comando alias ls retornara?
A. alias ls='ls --color=tty'
B. alias ls='ls --color=tty -w80'
C. alias ls='ls --color=tty -w80 /'
D. alias ls='ls -w80 '
E. -bash: alias: ls: not found
Question 8
¿Qué comando ejecutó aparentemente prince para habilitar los comandos que han sido
impresos en la pantalla?
La shell bash
20
A. shopt -x
B. set +x
C. shopt x
D. set -x
E. None of the above
Question 9
Si prince estuviera cansado de ver que sus comandos se impriman en la pantalla, ¿qué
comando debería ejecutar?
A. set -x
B. set +x
C. shopt x
D. shopt -s x
E. None of the above
Question 10
¿Cuál de los siguientes comandos habilitaría la opción de shell extglobbash?
A. shopt -s extglob
B. shopt extglob=yes
C. shopt extglob
D. shopt +extglob
E. None of the above
Capítulo 6 Lectura de scripts de shell e inicialización de shell
Conceptos clave
• Los scripts de shell son leídos con el comando source o con ..
• Todos los scripts de shell se ejecutan en la misma shell que lee el script.
• Las shells bash pueden ser tanto shells de inicio como de no inicio.
• Las shells bash pueden ser tanto shells interactivas como no-interactivas.
• /etc/profile, archivos dentro del directorio /etc/profile.d y
~/.bash_profile leídos en el arranque de cada shell de inicio de sesión.
La shell bash
21
• /etc/bashrc y ~/.bashrc se leen en el arranque de cada shell de inicio.
• ~/.bash_logout es leída por cada salida de shell de inicio de sesión.
Preguntas
Question 1
¿Cuál de las siguientes líneas de comandos podrían utilizarse para leer el archivo
config.script?
A. .. config.script
B. source config.script
C. < config.script
D. bash config.script
E. None of the above
Question 2
¿Cuál de los siguientes comados aplicaría los cambios hechos al archivo ~/.bashrc a la
shell shell actual?
A. . ~/.bashrc
B. . ~/.bash_profile
C. A y B
D. . /etc/profile
E. Todas las anteriores
Question 3
¿Cuál de los siguientes archivos se leen cuando se cierra una shell de inicio de sesión?
A. ~/.bash_logout
B. ~/.bash_profile
C. /etc/bash_logout
D. A y C
E. None of the above
Question 4
La shell bash
22
¿Cuáles archivos las shells iniciadas leen para implementar la sustitución de comandos?
A. ~/.bashrc
B. No files are sourced.
C. /etc/profile
D. /etc/bashrc
E. A y D
Question 5
¿Cuál de los archivos siguientes se lee cuando un usuario ingresa desde una consola
virtual?
A. /etc/profile
B. /etc/profile.d/less.sh
C. ~/.bashrc
D. Todas las anteriores
E. None of the above
Question 6
Después de instalar un nuevo paquete RPM, se agrega un nuevo archivo al directorio
/etc/profile.d. ¿Cuál de los siguientes comandos aplicaría la configuración del
archivo a la shell actual?
A. source /etc/profile
B. . ~/.bashrc
C. bash /etc/bashrc
D. Todas las anteriores
E. None of the above
La usuaria blondie agrega las siguientes líneas a las versiones predeterminadas de Red
Hat Enterprise Linux de los archivos ~/.bashrc y ~/.bash_profile.
[blondie@station blondie]$ echo 'echo "sourcing ~/.bashrc"' >>
~/.bashrc
[blondie@station blondie]$ echo 'echo "sourcing ~/.bash_profile"' >>
~/.bash_profile
La shell bash
23
Luego inicia una nueva subshell bash.
[blondie@station blondie]$ bash
sourcing ~/.bashrc
[blondie@station blondie]$
Question 7
¿Por qué blondie no vio la línea sourcing ~/.bash_profile?
A. Ella olvidó agregar permisos de ejecución al archivo ~/.bash_profile.
B.
Because the subshell is a non-login shell, the file ~/.bash_profile does not
get sourced.
C. Para que sus cambios se efectúen, blondie debe salir e ingresar de nuevo.
D.
Al aplicar comillas a echo a la línea de comandos, blondie por error utilizó la
sustitución de comandos.
E. None of the above reasons apply.
Al ingresar desde una consola virtual, blondie ve lo siguiente.
Red Hat Enterprise Linux release 3 (Taroon)
Kernel 2.4.20-4ES on an i686
station login: blondie
Password:
Last login: Wed Sep 3 09:54:31 on tty2
sourcing ~/.bashrc
sourcing ~/.bash_profile
[blondie@station blondie]$
Question 8
¿Por qué el archivo ~/.bashrc se pudo leer antes que ~/.bash_profile?
A. Esa es la conducta del ejecutable de bash para las shells de inicio.
B.
Los dos archivos se leen en orden de tiempo de modificación y el archivo
~/.bashrc tuvo el tiempo de modificación menos reciente.
C.
The file ~/.bashrc is not sourced first. For login shells, the bash shell only
sources the file ~/.bash_profile directly. In the default Red Hat Linux
configuration, this file sources the file ~/.bashrc. The line sourcing ~/.bashrc
comes before the line containing the echo command blondie added above.
D.
Ninguno de los archivos es leído por bash directamente. En cambio, el archivo
/etc/login los lee en el orden sugerido arriba.
E. Ninguna de las anteriores.
La shell bash
24
Question 9
¿Qué permisos se necesitan en un archivo para que sea leído?
A. ejecuta permisos
B. read permissions
C. escribe permisos
D. A y B
E. Todas las anteriores
Question 10
Cuando se lee un archivo con el comando interno source, ¿qué tipo de subshell se
invoca?
A. Una shell de inicio de sesión no-interactiva
B. Una shell interactiva de no-inicio de sesión
C. Una shell no interactiva de no-inicio de sesión
D.
The question is misguided, because no subshell is invoked when sourcing a file
(the commands in the file execute in the current shell).
E. None of the above

More Related Content

What's hot

What's hot (17)

Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformatics
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bash
 
Actividad v administración y comandos básicos if04 emerson
Actividad v administración y comandos básicos if04 emersonActividad v administración y comandos básicos if04 emerson
Actividad v administración y comandos básicos if04 emerson
 
Comandos básicos ubuntu
Comandos básicos ubuntuComandos básicos ubuntu
Comandos básicos ubuntu
 
2 filesystem basics
2 filesystem basics2 filesystem basics
2 filesystem basics
 
Fedora
FedoraFedora
Fedora
 
Resumen scripts unix
Resumen scripts unixResumen scripts unix
Resumen scripts unix
 
100 preguntas sobre linux
100 preguntas sobre linux100 preguntas sobre linux
100 preguntas sobre linux
 
Texto ejemploparacomandoslinux
Texto ejemploparacomandoslinuxTexto ejemploparacomandoslinux
Texto ejemploparacomandoslinux
 
Mis comandos favoritos en linux parte 3
Mis comandos favoritos en linux parte 3Mis comandos favoritos en linux parte 3
Mis comandos favoritos en linux parte 3
 
Comandos Basicos De Linux
Comandos Basicos De LinuxComandos Basicos De Linux
Comandos Basicos De Linux
 
Mis comandos favoritos en linux parte 2
Mis comandos favoritos en linux parte 2Mis comandos favoritos en linux parte 2
Mis comandos favoritos en linux parte 2
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Comandos de ubuntu
Comandos de ubuntuComandos de ubuntu
Comandos de ubuntu
 
Unix 3.1
Unix 3.1Unix 3.1
Unix 3.1
 
EL SHELL Y COMANDOS BASICOS DE LINUX
EL SHELL Y COMANDOS BASICOS DE LINUXEL SHELL Y COMANDOS BASICOS DE LINUX
EL SHELL Y COMANDOS BASICOS DE LINUX
 
Sistema Operativos - Objetivo 3 - Comandos Linux
Sistema Operativos - Objetivo 3 - Comandos LinuxSistema Operativos - Objetivo 3 - Comandos Linux
Sistema Operativos - Objetivo 3 - Comandos Linux
 

Viewers also liked

Cca v1 ms-excel
Cca v1 ms-excelCca v1 ms-excel
Cca v1 ms-excelvictdiazm
 
Ra semana 16
Ra semana 16Ra semana 16
Ra semana 16victdiazm
 
Ra semana 6 2
Ra semana 6 2Ra semana 6 2
Ra semana 6 2victdiazm
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Sql server 2005
Sql server 2005Sql server 2005
Sql server 2005victdiazm
 
14 colecciones
14 colecciones14 colecciones
14 coleccionesvictdiazm
 
Tutorial word (1)
Tutorial word (1)Tutorial word (1)
Tutorial word (1)victdiazm
 
Ejemplo de antecedentes de investigación
Ejemplo de antecedentes de investigaciónEjemplo de antecedentes de investigación
Ejemplo de antecedentes de investigaciónOscar López Regalado
 
Guiadel egel icompu
Guiadel egel icompuGuiadel egel icompu
Guiadel egel icompuEdgar Zarate
 
Cuestionario
CuestionarioCuestionario
Cuestionariovanneej
 
Gestion informatica guia
Gestion informatica guiaGestion informatica guia
Gestion informatica guiaPlukis Sanchez
 
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizacionesJare Muñoz
 
15059526 guia-del-examen-egel-para-informatica
15059526 guia-del-examen-egel-para-informatica15059526 guia-del-examen-egel-para-informatica
15059526 guia-del-examen-egel-para-informaticaJoVaz Lukaz Glez
 
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoArchivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoMario Chávez Morales
 
88620384 preguntas-de-computacion
88620384 preguntas-de-computacion88620384 preguntas-de-computacion
88620384 preguntas-de-computacionyani85
 
Guia ceneval contestada (2009)
Guia ceneval contestada (2009)Guia ceneval contestada (2009)
Guia ceneval contestada (2009)armacar
 
Gestión de Proyectos Tecnológicos
Gestión de Proyectos TecnológicosGestión de Proyectos Tecnológicos
Gestión de Proyectos TecnológicosMariaFontalvo
 

Viewers also liked (20)

Cca v1 ms-excel
Cca v1 ms-excelCca v1 ms-excel
Cca v1 ms-excel
 
Ra semana 16
Ra semana 16Ra semana 16
Ra semana 16
 
Ra semana 6 2
Ra semana 6 2Ra semana 6 2
Ra semana 6 2
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Sql server 2005
Sql server 2005Sql server 2005
Sql server 2005
 
14 colecciones
14 colecciones14 colecciones
14 colecciones
 
Tutorial word (1)
Tutorial word (1)Tutorial word (1)
Tutorial word (1)
 
Ejemplo de antecedentes de investigación
Ejemplo de antecedentes de investigaciónEjemplo de antecedentes de investigación
Ejemplo de antecedentes de investigación
 
Guiadel egel icompu
Guiadel egel icompuGuiadel egel icompu
Guiadel egel icompu
 
Preguntas
PreguntasPreguntas
Preguntas
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Ceneval
CenevalCeneval
Ceneval
 
Gestion informatica guia
Gestion informatica guiaGestion informatica guia
Gestion informatica guia
 
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones
52165998 deteccion-de-las-necesidades-informaticas-en-las-organizaciones
 
15059526 guia-del-examen-egel-para-informatica
15059526 guia-del-examen-egel-para-informatica15059526 guia-del-examen-egel-para-informatica
15059526 guia-del-examen-egel-para-informatica
 
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-infoArchivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
Archivos.ceneval.edu.mx archivos portal_17353_guiadel_egel-info
 
88620384 preguntas-de-computacion
88620384 preguntas-de-computacion88620384 preguntas-de-computacion
88620384 preguntas-de-computacion
 
Guia ceneval contestada (2009)
Guia ceneval contestada (2009)Guia ceneval contestada (2009)
Guia ceneval contestada (2009)
 
Gestión de Proyectos Tecnológicos
Gestión de Proyectos TecnológicosGestión de Proyectos Tecnológicos
Gestión de Proyectos Tecnológicos
 
752
752752
752
 

Similar to Semana 4 y 5 la shell bash guia de ejercicios resuelta

Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resueltavictdiazm
 
11 suplemments
11 suplemments11 suplemments
11 suplemmentsyimfer1
 
El shell-bash
El shell-bashEl shell-bash
El shell-bashlluera
 
Shell script
Shell scriptShell script
Shell scriptuniminuto
 
Script presentacion
Script presentacionScript presentacion
Script presentacionVanne Napa
 
Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linuxusupr2014
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashvictdiazm
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bashyimfer1
 
Tarea 01 laboratorio
Tarea 01   laboratorioTarea 01   laboratorio
Tarea 01 laboratorioFree Lancer
 
Administración básica de ubuntu server parte 3
Administración básica de ubuntu server   parte 3Administración básica de ubuntu server   parte 3
Administración básica de ubuntu server parte 3Santiago Márquez Solís
 
Laboratorio de integración JFlex y CUP
Laboratorio de integración JFlex y CUPLaboratorio de integración JFlex y CUP
Laboratorio de integración JFlex y CUPEgdares Futch H.
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basicovictdiazm
 
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...Freddy Banguero
 

Similar to Semana 4 y 5 la shell bash guia de ejercicios resuelta (20)

Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resuelta
 
11 suplemments
11 suplemments11 suplemments
11 suplemments
 
11 suplemments
11 suplemments11 suplemments
11 suplemments
 
11 suplemments
11 suplemments11 suplemments
11 suplemments
 
El shell-bash
El shell-bashEl shell-bash
El shell-bash
 
Shell script
Shell scriptShell script
Shell script
 
Script presentacion
Script presentacionScript presentacion
Script presentacion
 
Programacinenshell linux
Programacinenshell linuxProgramacinenshell linux
Programacinenshell linux
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bash
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bash
 
6 la shell bash
6 la shell bash6 la shell bash
6 la shell bash
 
Tarea 01 laboratorio
Tarea 01   laboratorioTarea 01   laboratorio
Tarea 01 laboratorio
 
Linux Programacion en Shell
Linux Programacion en ShellLinux Programacion en Shell
Linux Programacion en Shell
 
Administración básica de ubuntu server parte 3
Administración básica de ubuntu server   parte 3Administración básica de ubuntu server   parte 3
Administración básica de ubuntu server parte 3
 
Shell script en linux
Shell script en linuxShell script en linux
Shell script en linux
 
Laboratorio de integración JFlex y CUP
Laboratorio de integración JFlex y CUPLaboratorio de integración JFlex y CUP
Laboratorio de integración JFlex y CUP
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basico
 
Sistemas operativos ing.sistemas
Sistemas operativos ing.sistemasSistemas operativos ing.sistemas
Sistemas operativos ing.sistemas
 
Scripts
ScriptsScripts
Scripts
 
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
2290277 Instalacion De Un Servidor De Base De Datos Postgre Sql Apache Jboss ...
 

More from victdiazm

Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_toursvictdiazm
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y gruposvictdiazm
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesvictdiazm
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesosvictdiazm
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesvictdiazm
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de stringvictdiazm
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxvictdiazm
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diazvictdiazm
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linuxvictdiazm
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de stringvictdiazm
 
Semana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesSemana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesvictdiazm
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.netvictdiazm
 
Dce0 programacion oo_c__vbnet
Dce0 programacion oo_c__vbnetDce0 programacion oo_c__vbnet
Dce0 programacion oo_c__vbnetvictdiazm
 
Dce0 fundamentos deprogramacion
Dce0 fundamentos deprogramacionDce0 fundamentos deprogramacion
Dce0 fundamentos deprogramacionvictdiazm
 

More from victdiazm (17)

Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_tours
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y grupos
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redes
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesos
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipes
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de string
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linux
 
Script
ScriptScript
Script
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diaz
 
Compresor
CompresorCompresor
Compresor
 
Comandos basicos linux
Comandos basicos linuxComandos basicos linux
Comandos basicos linux
 
8 herramientas de procesos de string
8  herramientas de procesos de string8  herramientas de procesos de string
8 herramientas de procesos de string
 
Semana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesSemana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipes
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 
Dce0 programacion oo_c__vbnet
Dce0 programacion oo_c__vbnetDce0 programacion oo_c__vbnet
Dce0 programacion oo_c__vbnet
 
Dce0 fundamentos deprogramacion
Dce0 fundamentos deprogramacionDce0 fundamentos deprogramacion
Dce0 fundamentos deprogramacion
 

Semana 4 y 5 la shell bash guia de ejercicios resuelta

  • 1. La shell bash 1 Capítulo 1 Introducción a Bash Conceptos clave • La shell por defecto en Red Hat Enterprise Linux es la shell bash. • La shell bash se puede utilizar de modo interactivo o como un lenguaje de escritura de gran alcance. • Tras el arranque, bash ejecuta comandos hallados en el archivo ~/.bashrc, permitiéndole a los usuarios personalizar su shell. • La shell bash guarda el historial de las líneas de comando ejecutadas. La líneas de comando se pueden recuperar desde el historial mediante varias expansiones de historial que comienzan por "!". Preguntas Question 1 ¿Cuál es la shell predeterminada en Red Hat Enterprise Linux? A. /bin/conch B. /bin/sh C. /usr/bin/tcsh D. /bin/bash E. None of the above Question 2 ¿Qué podría interpretarse como un comentario de una shell bash? A. /* blagh */ B. % blagh C. # blagh D. B and C E. None of the above Question 3
  • 2. La shell bash 2 ¿Para cuál de las siguientes tareas la shell bash se utiliza más? A. Ejecutar comandos para usuarios de modo interactivo B. Cálculos numéricos C. Ejecución automática de comandos desde scripts D. A y C E. Todas las anteriores Question 4 Tras arrancar, ¿desde qué archivo bash ejecuta automáticamente los comandos? A. ~/bash_startup B. ~/.bash_startup C. ~/.bash D. ~/.bashrc E. None of the above Utilice la siguiente salida del comando history para contestar las siguientes 4 preguntas. Para cada pregunta, asuma que el comando se teclea directamente después del comando history como se muestra a continuación. [elvis@station elvis]$ history 4 cd .. 5 ls 6 cd doc/ 7 ls ... 977 xmms & 978 ls -al /tmp/.esd/socket 979 rm /tmp/.esd/socket 980 ps aux | grep karen 981 pgrep -u karen 982 rm /tmp/.esd/socket 983 su 984 ls 985 ls -l /tmp/.esd/ 986 ls -ld /tmp/.esd/ 987 s u 988 su 989 history Question 5
  • 3. La shell bash 3 ¿Qué comando se sustituiría si elvis después tecleara !5? A. xmms & B. rm /tmp/.esd/socket C. ls D. historial E. None of the above Question 6 ¿Qué comando se sustituiría si elvis después tecleara !!? A. xmms & B. cd .. C. su D. ls E. None of the above Question 7 ¿Qué comando se sustituiría si elvis después tecleara !-5? A. xmms & B. ls C. ls -l /tmp/.esd/ D. historial E. None of the above Question 8
  • 4. La shell bash 4 ¿Qué comando se sustituiría si elvis después tecleara !p? A. ps aux | grep karen B. pgrep -u karen C. ps aux D. pico /etc/hosts E. La sustitución no se puede determinar a partir de la información provista. Question 9 ¿Qué secuencias se pueden utilizar para acceder a partes del historial de comandos de bash? A. ESC-. B. CTRL-. C. CTRL-H D. CTRL-ALT-F3 E. None of the above Question 10 ¿Qué comando se utiliza para listar el historial de comandos de bash? A. historial
  • 5. La shell bash 5 B. hist C. h D. command E. A y D Capítulo 2 Listas de comandos y scripts Conceptos clave • Comandos múltiples se pueden separar con un ;. • Tras la salida, cada comando devuelve un entero a su padre denominado valor de retorno. • La variable de shell $? se expande al valor de retorno de un comando ejecutado previamente. • && y || separan condicionalmentecomandos múltiples. Preguntas Después de ejecutar una línea de comando desde un inteŕprete de comandos interactivo bash se presentarán los siguientes mensajes: bash: timelog: Permission denied timestamp failed Question 1 ¿Cuál de los siguientes comandos pudieron haber producido los mensajes? A. date >> timelog || echo timestamp failed
  • 6. La shell bash 6 B. date >> timelog && echo timestamp failed C. date >> timelog ; echo timestamp failed D. A y C E. Todas las anteriores Question 2 ¿Qué expresión mostrará el valor de retorno de la shell actual en ejecución? A. echo $? B. echo $$ C. echo $RET_VAL D. A y C E. The question is misconceived, because the current shell does not have a return value until it exits. Use the following transcript to answer the next 2 questions. [elvis@station elvis]$ echo "stomp" > blue_suede_shoes [elvis@station elvis]$ chmod 600 blue_suede_shoes [elvis@station elvis]$ cat blue_suede_shoes stomp Question 3 ¿Qué comando podría ejecutar elvis para ver el valor de retorno del comando cat? A. echo $! B. echo $$ C. echo $? D. A y C E. None of the above Question 4 ¿Qué comando podría ejecutar elvis para visualizar el valor de retorno del comando chmod? A. echo $!
  • 7. La shell bash 7 B. echo $-$ C. echo $$ D. echo $RET_chmod E. None of the above Question 5 ¿Qué ejecutaría el comando chmod sólo si el comando mkdir tiene éxito? A. mkdir mail || chmod 700 mail B. mkdir mail && chmod 700 mail C. mkdir mail ; chmod 700 mail D. mkdir mail | chmod 700 mail E. None of the above Question 6 ¿Qué ejecutaría el comando chmod sólo si el comando mkdir falla? A. mkdir mail | chmod 700 mail B. mkdir mail && chmod 700 mail C. mkdir mail ; chmod 700 mail D. mkdir mail or chmod 700 mail E. None of the above Question 7 ¿Qué ejecutaría el comando chmod sin importar el éxito o fracaso del comando mkdir? A. mkdir mail | chmod 700 mail B. mkdir mail && chmod 700 mail C. mkdir mail ; chmod 700 mail D. mkdir mail or chmod 700 mail E. None of the above Question 8
  • 8. La shell bash 8 ¿Cuál es la forma correcta de ejecutar los comandos cd y ls en una sola subshell? A. cd /etc && ls B. ( cd /etc ; ls) C. { cd /etc ; ls} D. ${ cd /etc ; ls} E. None of the above Question 9 Después de ejecutar con éxito el comando de la pregunta anterior, ¿cuál sería su directorio actual de trabajo? A. / B. ~ C. La pregunta es debatible. Ninguna de los comandos de la pregunta anterior es correcta. D. /etc E. The same directory from which the command line was executed. The current shell's working directory would not change. Question 10 Después de ejecutar la línea de comandos cd /tmp; ls, ¿cuál es su directorio de trabajo actual? A. / B. ~ C. /ls D. /etc E. /tmp Capítulo 3 Variable de bash Conceptos clave • Las variables de la shell se asignan mediante una sintaxis A=apple.
  • 9. La shell bash 9 • Las variables se examinan ("desreferencian") con el caracter $ como en echo $A. • En el nivel de kernel, cada proceso tiene una colección de variables de entorno que los procesos hijos heredan. • El comando export convierte una variable de shell en una variable de entorno. • Los comandos set y env listan las variables de shell y las variables de entorno, respectivamente. Preguntas Question 1 ¿Qué no se utiliza como nombre de variable de shell? A. NAME B. PHONE_1 C. Addr2 D. ZipCode E. All of the above could be used as the name of a shell variable. Question 2 ¿Cuál de los siguientes no puede utilizarse como nombre de una variable de entorno? A. NAME B. PHONE_1 C. Addr2 D. ZipCode E. All of the above could be used as the name of a environment variable. El usuario elvis lee el siguiente párrafo desde la página de manual date(1). ENVIRONMENT TZ Specifies the timezone, unless overridden by command line param- eters. If neither is specified, the setting from /etc/localtime is used. Al ejecutar el comando date descubre que la zona horaria actual es EDT.
  • 10. La shell bash 10 [elvis@station elvis]$ date Fri Sep 5 15:46:02 EDT 2003 En un esfuerzo por configurar su zona horaria como MDT, elvis agrega la siguiente línea al archivo .bashrc en su directorio de inicio. TZ=MDT Question 3 El usuario elvis inicia una nueva subshell y ejecuta el comando date, esperando ver la fecha reportada en la zona horariaMDT. No obstante, el comando date aún reporta la fecha en la zona horaria EDT. ¿Qué hizo mal elvis? A. The variable TZ is being set as a shell variable, not an environment variable. B. Para que los cambios en el archivo ~/.bashrc surtan efecto, elvis debe salir y reiniciar (en vez de iniciar una nueva subshell). C. elvis debe establecer permisos ejecutables en el archivo .bashrc en su directorio de inicio. D. elvis utilizó una sintaxis errada y debería haber agregado la línea TZ = MDT en su lugar. E. Ninguna explica de forma adecuada el error que cometió elvis. Question 4 ¿Qué cambio debería hacer elvis para corregir su error? A. Debería modificar la línea agregada a .bashrc para leer export TZ=MDT B. Ejecutar el comandochmod a+x ~/.bashrc C. Debería modificar la línea agregada a .bashrc para que lea TZ=MDT; export TZ D. Either A or C E. Ninguno de estos pasos resolvería el problema. Question 5 ¿Qué establecería correctamente la variable de shell ADDR como 123 Elm St.? A. ADDR= 123_Elm_St. B. ADDR = 123 Elm St. C. ADDR="123 Elm St."
  • 11. La shell bash 11 D. ADDR=123_Elm_St. E. None of the above. Question 6 ¿Cuál de las siguientes no es una característica de las variables de entorno? A. Todos los procesos usan variables de entorno, no sólo aquellos que ejecutan la shell bash. B. La variables de entorno son heredadas por defecto por los procesos hijos. C. Upon startup, the bash shell clears all previously defined environment variables. D. Las variables de entorno pueden examinarse mediante archivos que se encuentran en el sistema de archivos /proc. E. Las variables de entorno poseen todas las características. Question 7 ¿Qué comando presentaría el id (pid) del proceso de la shell actual? A. echo $$ B. echo $! C. echo $PID D. echo $BASH_PID E. None of the above. Question 8 ¿Cuál de los siguientes comandos crearía un archivo llamado jan_reports.txt? A. MONTH=jan; touch ${MONTH}_report.txt B. MONTH=jan; touch $MONTH_report.txt C. MONTH= jan; touch $MONTH_report.txt D. MONTH= jan; touch $"MONTH"_report.txt E. A y B Question 9
  • 12. La shell bash 12 ¿Cuál de los siguientes comandos agregaría el directorio /opt/bin al valor actual de la variable de entorno PATH? A. PATH=$PATH:/opt/bin B. PATH+=/opt/bin C. PATH=${PATH}+"/opt/bin" D. A y B E. Todas las anteriores El usuario elvis ejecuta el siguiente comando. [elvis@station elvis]$ STYLE=terse Question 10 ¿Cuál de los siguientes comandos podría utilizarse para examinar el valor de STYLE? A. set B. env C. cat /proc/$$/environ D. export E. A y C Capítulo 4 Expansión de la línea de comandos Conceptos clave • La shell bash expande ciertos metacaracteres de línea de comandos antes de interpretar el comando. • La expansión con la tilde amplía los símbolos que comienzan por una tilde (~) a los directorios de inicio de usuarios. • La expansión de llaves amplía los símbolos con corchetes ({}) en palabras múltiples, cada una contiene una sola palabra a partir de la lista especificada. • La sustitución de comandos expande el texto delimitado por comillas invertidas (``) o "dólar paréntesis" ($()) en la salida producida por el comando encerrado. • Las comillas dobles ("..." ), las comillas sencillas ('...') y el caracter de barra invertida pueden usarse para evitar que la shell expanda los caracteres.
  • 13. La shell bash 13 Preguntas Question 1 ¿Qué signo de puntuación no está asociado con la expansión de la línea de comandos bash? A. { } B. ~ C. $ D. * E. % Question 2 Cuando es evaluado por la shell bash, ¿ a cuántas palabras se expandirá lo siguiente? {jan,feb,mar}.{data,report}.{txt,html} A. 3 B. 8 C. 9 D. 12 E. 24 Question 3 ¿Cuál de las siguientes líneas de comando crearían un archivo llamado make $ at home! A. touch "make $ at home"! B. touch 'make $ at home!' C. touch 'make $' at home! D. A y C E. Todas las anteriores Question 4
  • 14. La shell bash 14 En una instalación predeterminada de Red Hat Enterprise Linux, el símbolo ~aristotle muy probablemente se expandirá a qué directorio? A. /home B. /home/aristotle C. /tmp/aristotle D. /aristotle E. None of the above Question 5 Cuando el usuario plato ejecuta el siguiente comando, ¿cuál es el nombre del archivo en que se escribe? cal > calendar.$(id -un).txt A. calendar.txt B. calendar.plato.txt C. calendar.id -un.txt D. calendar.512.txt E. None of the above Question 6 Si asumimos que prince es un miembro de los grupos prince y music, ¿cuál de los siguientes comandos produciría la siguiente salida? I am a member of: prince music A. echo "I am a member of: $(id -Gn)" B. echo 'I am a member of: $(id -Gn)' C. echo I am a member of: "id -Gn" D. echo I am a member of: `id -Gn` E. A y D
  • 15. La shell bash 15 En la siguiente transcripción, prince está tratando de crear un archivo cuyo nombre de archivo contenga la hora actual, tal como timestamp.10.23.43. Use la siguiente transcripción para contestar las dos preguntas a continuación. [prince@station prince]$ touch timestamp.'date +%H.%M.%S' [prince@station prince]$ ls timestamp.date +%H.%M.%S Question 7 ¿Cuál de las siguientes razones explican mejor el porqué prince no creó el nombre de archivo que deseaba? A. Porque como el comando date (y su argumento) contiene un espacio, prince tenía que haber utilizado comillas dobles. B. La shell bash no pudo localizar el comando date y por lo tanto dejó el comando "tal como está" en lugar de ejecutar una sustitución de comandos. C. Porque como los caracteres de porcentaje en date no se escaparon,bash no ejecutó sustitución de comandos. D. The user prince did not use the correct syntax for command substitution. E. None of the above. Question 8 ¿Cuál de las siguientes líneas ejecutarían correctamente la operación de prince? A. touch timestamp.$(date +%H.%M.%S) B. touch timestamp.$((date +%H.%M.%S)) C. touch timestamp.`date +%H.%M.%S` D. A y C E. None of the above Use the following transcript to answer the next two questions. [prince@station prince]$ COLOR=red [prince@station prince]$ ls Question 9
  • 16. La shell bash 16 Si prince fuera luego a ejecutar el siguiente comando, ¿qué salida se produciría? echo "My favorite colors are {blue,green,$COLOR} !!" A. My favorite colors are {blue,green,red} ls B. My favorite colors are blue green red !! C. My favorite colors are blue green $COLOR ls D. My favorite colors are {blue,green,$COLOR} !! E. My favorite colors are {blue,green,red} Question 10 Si prince fuera luego a ejecutar el siguiente comando, ¿qué salida se produciría? echo 'My favorite colors are {blue,green,$COLOR} !!' A. My favorite colors are {blue,green,red} ls B. My favorite colors are {blue,green,$COLOR} !! C. My favorite colors are blue green red !! D. My favorite colors are blue green $COLOR ls E. None of the above Capítulo 5 Personalización de la shell Conceptos clave • La shell bash internamente implementa ciertos comandos sencillos que están muy ligados con la conducta de la shell. Estos se conocen como los comandos incorporados. • Los alias de shell crean comandos aparentes que expanden a texto arbitrario. • Los alias de shell se establecen y examinan con el comando alias. • Los alias de shell se remueven con el comando unalias. • El intérprete de comandos de la shell bash se puede personalizar mediante la variable PS1. • Las banderas de shell se pueden establecer con el comando set -f y se limpian con set +f. • Las opciones de shell se examinan, establecen y se anulan con el comando shopt.
  • 17. La shell bash 17 Preguntas A title El usuario prince está tratando de hallar el ejecutable para el comando cd. Use la transcripción acontinuación para contestar la siguiente pregunta. [prince@station prince]$ which cd /usr/bin/which: no cd in (/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/b in:/home/prince/bin) Question 1 ¿Cuál es la mejor razón por la cual no se encontró el ejecutable para el comando cd? A. El paquete RPM coreutils no está instalado en el sistema. B. El comando vive fuera de la ruta de prince. C. The command is a bash builtin command. D. La variable PATH está mal configurada (los directorios listados deberían ir separados por espacios, no comas). E. None of the above. Question 2 ¿cuál de los siguientes crearía un alias llamado tf el cual se expandiría a la frase tail - f ? A. alias tf=tail -f B. tf=tail -f C. alias tf="tail -f" D. alias tf = "tail -f" E. C y D Question 3 ¿Cuál de los siguientes se podría utilizar para examinar los alias actuales para tf? A. alias -s tf
  • 18. La shell bash 18 B. alias tf C. showalias tf D. alias -d tf E. None of the above Question 4 ¿Cuál de los siguientes suprimiría el alias tf? A. unalias tf B. alias tf C. rmalias tf D. alias -d tf E. None of the above Question 5 El usuario prince ha personalizado su prompt para que aparezca de la siguiente manera. El tiempo es la hora actual y el número 613 es el número de historial del comando actual. ¿Cuál de los siguientes comandos configuraría la variable PS1 correctamente? (02Sep03-11:11:53) [prince@tation ~] 613 $ A. PS1="(d) [u@h w] !# " B. PS1="($(date)) [u@h] ! $ " C. PS1="(d) [$(whoami)] ! $ " D. PS1="($(date --iso-8601)) [u@h w] ! $ " E. None of the above La siguiente transcripción muestra a prince tratando de iniciar sesión en una consola virtual. Refiérase a esto cuando conteste la siguiente pregunta. Red Hat Enterprise Linux release 3 (Taroon) Kernel 2.4.20-4ES on an i686 station login: prince Password: Last login: Tue Sep 9 08:43:15 on tty3 login: prince -bash: prince: command not found
  • 19. La shell bash 19 login: Question 6 ¿Cuál de las siguientes sería la explicación maś adecuada al problema de prince? A. No hay ninguna cuenta para el usuario prince. B. Hay un error de sintaxis en el archivo ~/.bashrc, por lo tanto la shell está saliendo en el arranque. C. El usuario no tiene un directorio de inicio en la máquina local. D. El usuario prince ha olvidado su contraseña. E. The file ~/.bashrc contains the line PS1="nlogin: " Use the following transcript to answer the next 3 questions. [prince@station prince]$ ls / + ls --color=tty -w80 / bin data du.out home lib misc opt rha RPMS tmp var boot dev etc initrd lost+found mnt proc root sbin usr web ++ echo -ne '033]0;prince@station:~007' [prince@station prince]$ Question 7 ¿Qué esperaría prince que el comando alias ls retornara? A. alias ls='ls --color=tty' B. alias ls='ls --color=tty -w80' C. alias ls='ls --color=tty -w80 /' D. alias ls='ls -w80 ' E. -bash: alias: ls: not found Question 8 ¿Qué comando ejecutó aparentemente prince para habilitar los comandos que han sido impresos en la pantalla?
  • 20. La shell bash 20 A. shopt -x B. set +x C. shopt x D. set -x E. None of the above Question 9 Si prince estuviera cansado de ver que sus comandos se impriman en la pantalla, ¿qué comando debería ejecutar? A. set -x B. set +x C. shopt x D. shopt -s x E. None of the above Question 10 ¿Cuál de los siguientes comandos habilitaría la opción de shell extglobbash? A. shopt -s extglob B. shopt extglob=yes C. shopt extglob D. shopt +extglob E. None of the above Capítulo 6 Lectura de scripts de shell e inicialización de shell Conceptos clave • Los scripts de shell son leídos con el comando source o con .. • Todos los scripts de shell se ejecutan en la misma shell que lee el script. • Las shells bash pueden ser tanto shells de inicio como de no inicio. • Las shells bash pueden ser tanto shells interactivas como no-interactivas. • /etc/profile, archivos dentro del directorio /etc/profile.d y ~/.bash_profile leídos en el arranque de cada shell de inicio de sesión.
  • 21. La shell bash 21 • /etc/bashrc y ~/.bashrc se leen en el arranque de cada shell de inicio. • ~/.bash_logout es leída por cada salida de shell de inicio de sesión. Preguntas Question 1 ¿Cuál de las siguientes líneas de comandos podrían utilizarse para leer el archivo config.script? A. .. config.script B. source config.script C. < config.script D. bash config.script E. None of the above Question 2 ¿Cuál de los siguientes comados aplicaría los cambios hechos al archivo ~/.bashrc a la shell shell actual? A. . ~/.bashrc B. . ~/.bash_profile C. A y B D. . /etc/profile E. Todas las anteriores Question 3 ¿Cuál de los siguientes archivos se leen cuando se cierra una shell de inicio de sesión? A. ~/.bash_logout B. ~/.bash_profile C. /etc/bash_logout D. A y C E. None of the above Question 4
  • 22. La shell bash 22 ¿Cuáles archivos las shells iniciadas leen para implementar la sustitución de comandos? A. ~/.bashrc B. No files are sourced. C. /etc/profile D. /etc/bashrc E. A y D Question 5 ¿Cuál de los archivos siguientes se lee cuando un usuario ingresa desde una consola virtual? A. /etc/profile B. /etc/profile.d/less.sh C. ~/.bashrc D. Todas las anteriores E. None of the above Question 6 Después de instalar un nuevo paquete RPM, se agrega un nuevo archivo al directorio /etc/profile.d. ¿Cuál de los siguientes comandos aplicaría la configuración del archivo a la shell actual? A. source /etc/profile B. . ~/.bashrc C. bash /etc/bashrc D. Todas las anteriores E. None of the above La usuaria blondie agrega las siguientes líneas a las versiones predeterminadas de Red Hat Enterprise Linux de los archivos ~/.bashrc y ~/.bash_profile. [blondie@station blondie]$ echo 'echo "sourcing ~/.bashrc"' >> ~/.bashrc [blondie@station blondie]$ echo 'echo "sourcing ~/.bash_profile"' >> ~/.bash_profile
  • 23. La shell bash 23 Luego inicia una nueva subshell bash. [blondie@station blondie]$ bash sourcing ~/.bashrc [blondie@station blondie]$ Question 7 ¿Por qué blondie no vio la línea sourcing ~/.bash_profile? A. Ella olvidó agregar permisos de ejecución al archivo ~/.bash_profile. B. Because the subshell is a non-login shell, the file ~/.bash_profile does not get sourced. C. Para que sus cambios se efectúen, blondie debe salir e ingresar de nuevo. D. Al aplicar comillas a echo a la línea de comandos, blondie por error utilizó la sustitución de comandos. E. None of the above reasons apply. Al ingresar desde una consola virtual, blondie ve lo siguiente. Red Hat Enterprise Linux release 3 (Taroon) Kernel 2.4.20-4ES on an i686 station login: blondie Password: Last login: Wed Sep 3 09:54:31 on tty2 sourcing ~/.bashrc sourcing ~/.bash_profile [blondie@station blondie]$ Question 8 ¿Por qué el archivo ~/.bashrc se pudo leer antes que ~/.bash_profile? A. Esa es la conducta del ejecutable de bash para las shells de inicio. B. Los dos archivos se leen en orden de tiempo de modificación y el archivo ~/.bashrc tuvo el tiempo de modificación menos reciente. C. The file ~/.bashrc is not sourced first. For login shells, the bash shell only sources the file ~/.bash_profile directly. In the default Red Hat Linux configuration, this file sources the file ~/.bashrc. The line sourcing ~/.bashrc comes before the line containing the echo command blondie added above. D. Ninguno de los archivos es leído por bash directamente. En cambio, el archivo /etc/login los lee en el orden sugerido arriba. E. Ninguna de las anteriores.
  • 24. La shell bash 24 Question 9 ¿Qué permisos se necesitan en un archivo para que sea leído? A. ejecuta permisos B. read permissions C. escribe permisos D. A y B E. Todas las anteriores Question 10 Cuando se lee un archivo con el comando interno source, ¿qué tipo de subshell se invoca? A. Una shell de inicio de sesión no-interactiva B. Una shell interactiva de no-inicio de sesión C. Una shell no interactiva de no-inicio de sesión D. The question is misguided, because no subshell is invoked when sourcing a file (the commands in the file execute in the current shell). E. None of the above