Question 1
Question
Un archivo que comienza con #!/bin/csh significa:
Answer
-
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
Question 2
Question
¿Cuáles son los editores apropiados para escribir scripts de shell?
(elegir dos)
Answer
-
Firefox
-
nano
-
vi
-
/bin/bash
-
LibreOffice Writer
Question 3
Question
La mayoría de los comandos de nano adoptan la forma de:
Question 4
Question
¿Qué hace este script?
FOO=/tmp/foo
if [ ! -d $FOO ]; then
mkdir $FOO
fi
Answer
-
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
Question 5
Question
¿Cuál de las siguientes afirmaciones son correctas sobre bucles for y while?
(elegir dos)
Answer
-
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
Question 6
Question
Dado el siguiente código de un script:
if [ -f $1 ]; then
echo "I am here"
fi
¿Cuál es el significado de $1?
Answer
-
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
Question 7
Question
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"?
Answer
-
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
Question 8
Question
¿Cuál es la forma correcta de asignar la palabra "Hello" a una variable?
Answer
-
$A="Hello"
-
echo "Hello" A
-
echo $A "Hello"
-
A="Hello"
-
A = "Hello"
Question 9
Question
¿Cuál es la forma correcta de guardar el directorio actual en una variable?
Answer
-
pwd $A
-
A=cwd
-
pwd | $A
-
A=`pwd`
-
A=pwd
Question 10
Question
¿Qué comando shell acepta la entrada desde el teclado del usuario?
Question 11
Question
¿Qué información es retenida dentro de $? ?
Answer
-
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
Question 12
Question
¿Cómo podrias finalizar tu script con un código de salida 42?
Answer
-
break 42
-
CODE=42
-
return 42
-
$?=42
-
exit 42
Question 13
Question
El comando if, ¿Qué código de salida tiene en cuenta para que una condición sea verdadera?
Question 14
Question
El número de usuarios conectados en una variable llamada USERS. ¿Cómo se podría comprobar que 5 usuarios están conectados?
Answer
-
test $USERS,5
-
test $USERS = 5
-
test -f USERS=5
-
test $USERS -eq 5
-
test $USERS -a 5
Question 15
Question
while [ ! -f /tmp/foo ]; do
echo -n "."
process_data > /tmp/foo
done
¿Cuál de las siguientes afirmaciones son ciertas?
(elegir dos)
Answer
-
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
Question 16
Question
Un condicional que le permite realizar comparaciones múltiples con un patrón se llama:
Answer
-
fanout
-
test
-
branch
-
case
-
if
Question 17
Question
¿Cuál es el significado de $(( $i + 1)) ?
Answer
-
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
Question 18
Question
¿Cómo se escribiría una prueba que diga "Si /tmp/foo es un directorio o USERS es mayor que 5"?
Answer
-
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