¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Topic 105: Shells and Shell Scripting
Perteneciente a LPIC-1
Veremos cómo configurar y usar el shell mediante el cual interactuamos con el sistema. En la segunda parte investigamos.
Ejercicios
Ejercicio 1: Scripting
Sube un documento con las respuestas a las siguientes actividades: Adjunte capturas de pantalla para ver los resultados
PARTE I
Cree un script generador de ficheros que haga lo siguiente:
1. nos pida un nombre de fichero y una ruta de destino
echo "Nombre de fichero: " read filename echo "Ruta de creación: " read path
2. nos pida un numero de ficheros
echo "Número de ficheros a crear:" read num_files
3. nos cree ese número de ficheros, con el nombre especificado seguido de un número, en la ruta especificada
i=1 while [ $i -le $num_files ] do touch $path/$filename-$i let i=i+1 done
Script final:
#!/bin/bash echo "Nombre de fichero: " read filename echo "Ruta de creación: " read path echo "Número de ficheros a crear:" read num_files i=1 while [ $i -le $num_files ] do touch $path/$filename-$i let i=i+1 done
PARTE II
Cree un script de shell que haga lo siguiente:
1. mostrará una lista completa y completa (recursiva) del contenido de cualquier directorio que se le pase en la línea de comando
dir=$1 find $dir -print
2. mostrará un mensaje de error si el parámetro que le das no es un directorio.
if [ -d $dir ] then find $dir -print else echo "$dir no es un directorio" fi
3. Probar el script para que muestre los resultados con un directorio válido y y forzar el error con un nombre de directorio no existente
Script completo:
#!/bin/bash dir=$1 # Comprobar si es un directorio if [ -d $dir ] then find $dir -print else echo "$dir no es un directorio" exit 1 fi
Test
Every shell script intended to run within a bash environment, should have what identifier at the top of the script file?
#/bin/bash!/bin/bash!#/bin/bash#!/bin/bash(solución)
Of the following conditional statements within a shell script, which one will test for the existence of a file called 'mytest.txt' in the current directory?
if $FILE is 'mytest.txt';thenif $1='mytest.txt';thenif -f mytest.txt;(solución)if filename='mytest.txt'; then
What user script (if it exists) is run, from a user's home directory, every time they log into a system? (select 2)
~/.bash_profile(solución)/etc/rc.local/etc/rc.local~/.bashrc(solución)
Which of the following special shells that, when assigned to a user account as the default shell, will prevent that account from being able to log in? (Choose the 2 correct answers)
* . /etc/users.deny
* /sbin/nologin (solución)
* /etc/users.allow
* /bin/false (solución)
Which of the following variable definitions will be available to subshells in the environment?
* export MYVAR=“Some Value” (solución**)
MYVAR=“Some Value”env MYVAR=“Some Value”- None of the Above
