Perteneciente a LPIC-1
Veremos cómo configurar y usar el shell mediante el cual interactuamos con el sistema. En la segunda parte investigamos.
Ejercicio 1: Scripting
Sube un documento con las respuestas a las siguientes actividades: Adjunte capturas de pantalla para ver los resultados
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
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
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'; thenWhat 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”