Pregunta 1
Pregunta
Un archivo que comienza con #!/bin/csh significa:
Respuesta
-
El operador no debe estar usando /bin/csh
-
Este es un script de Perl (en lenguaje Perl)
-
El modo de compatibilidad C Shell está habilitado
-
La ejecución del script invocará /bin/csh para interpretar el resto del archivo
-
Nada, esto es solo un comentario
Pregunta 2
Pregunta
¿Cuáles son los editores apropiados para escribir scripts de shell?
(elegir dos)
Respuesta
-
Firefox
-
nano
-
vi
-
/bin/bash
-
LibreOffice Writer
Pregunta 3
Pregunta
La mayoría de los comandos de nano adoptan la forma de:
Pregunta 4
Pregunta
¿Qué hace este script?
FOO=/tmp/foo
if [ ! -d $FOO ]; then
mkdir $FOO
fi
Respuesta
-
Nada, ya que hay un problema con las condiciones establecidas en la sentencia if
-
Crea /tmp/foo si no existe
-
Emite un mensaje a la pantalla
-
Crea el directorio /tmp/foo, si existe un archivo con ese nombre
-
Crea /tmp/foo y activa un error si hay un problema
Pregunta 5
Pregunta
¿Cuál de las siguientes afirmaciones son correctas sobre bucles for y while?
(elegir dos)
Respuesta
-
Los bucles for tienen una prueba en cada ciclo para determinar si se debe ejecutar de nuevo
-
Los bucles for operan sobre una lista predeterminada de elementos
-
Los bucles while tienen una prueba en cada ciclo para determinar si se debe ejecutar de nuevo
-
Los bucles for requieren una variable sobre la cual iterar
-
Los bucles while operan sobre una lista predeterminada de elementos
Pregunta 6
Pregunta
Dado el siguiente código de un script:
if [ -f $1 ]; then
echo "I am here"
fi
¿Cuál es el significado de $1?
Respuesta
-
Es una lista de archivos que consigue interpolar
-
Es un archivo llamado $1
-
Es el primer argumento pasado al script
-
Es un parámetro de -f, que indica el tamaño del archivo
-
Es una variable especial que indica el código de salida del comando anterior
Pregunta 7
Pregunta
Dado el siguiente código de un script, que se ejecuta a través de ./test.sh hello goodbye:
if [ -f $2 ]; then
echo "I am here"
fi
¿Cuando se imprimirá "I am here"?
Respuesta
-
Si un archivo llamado "goodbye" existe en el directorio actual
-
Si hay dos archivos en el directorio actual
-
El script imprimirá siempre "I am here"
-
Nunca
-
Si un archivo llamado "hello" existe en el directorio actual
Pregunta 8
Pregunta
¿Cuál es la forma correcta de asignar la palabra "Hello" a una variable?
Respuesta
-
$A="Hello"
-
echo "Hello" A
-
echo $A "Hello"
-
A="Hello"
-
A = "Hello"
Pregunta 9
Pregunta
¿Cuál es la forma correcta de guardar el directorio actual en una variable?
Respuesta
-
pwd $A
-
A=cwd
-
pwd | $A
-
A=`pwd`
-
A=pwd
Pregunta 10
Pregunta
¿Qué comando shell acepta la entrada desde el teclado del usuario?
Pregunta 11
Pregunta
¿Qué información es retenida dentro de $? ?
Respuesta
-
El ID del usuario actual
-
El código de salida del comando anterior
-
El ID del proceso actual
-
El número de argumentos pasados al script
-
El nombre de la instrucción ejecutada
Pregunta 12
Pregunta
¿Cómo podrias finalizar tu script con un código de salida 42?
Respuesta
-
break 42
-
CODE=42
-
return 42
-
$?=42
-
exit 42
Pregunta 13
Pregunta
El comando if, ¿Qué código de salida tiene en cuenta para que una condición sea verdadera?
Pregunta 14
Pregunta
El número de usuarios conectados en una variable llamada USERS. ¿Cómo se podría comprobar que 5 usuarios están conectados?
Respuesta
-
test $USERS,5
-
test $USERS = 5
-
test -f USERS=5
-
test $USERS -eq 5
-
test $USERS -a 5
Pregunta 15
Pregunta
while [ ! -f /tmp/foo ]; do
echo -n "."
process_data > /tmp/foo
done
¿Cuál de las siguientes afirmaciones son ciertas?
(elegir dos)
Respuesta
-
La pantalla se llenará con puntos "."
-
process_data se llamará como máximo una vez
-
/tmp/foo será borrado si es que existe
-
process_data nunca será ejecutado
-
Si un archivo llamado /tmp/foo existe, no se ejecutará process_data
Pregunta 16
Pregunta
Un condicional que le permite realizar comparaciones múltiples con un patrón se llama:
Respuesta
-
fanout
-
test
-
branch
-
case
-
if
Pregunta 17
Pregunta
¿Cuál es el significado de $(( $i + 1)) ?
Respuesta
-
Si i es 0, el bucle se detendrá
-
Se devolverá el valor del siguiente argumento al script
-
Se añadirá 1 a la variable i
-
Se ejecuta el comando almacenado en la variable i
-
Se devolverá el valor del primer argumento al script
Pregunta 18
Pregunta
¿Cómo se escribiría una prueba que diga "Si /tmp/foo es un directorio o USERS es mayor que 5"?
Respuesta
-
test -d /tmp/foo -o $USERS -gt 5
-
test /tmp/foo -d -o $USERS -gt 5
-
test -f /tmp/foo -o $USERS -ge 5
-
test -d /tmp/foo | $USERS