shopt
shell options - manual
Se pueden definir las opciones del shell con set (-s
) o unset (-u
). Para obtener la lista de parámetros definibles se puede invocar shopt
o shopt -p
.
nullglob
: si no existe el elemento expandido devuelve un string vacío en lugar de errordotglob
: incluye los archivos que empiezan en.
den las expansiones de variables
Ejemplo
recursive-move.sh
#!/bin/bash
# Lista el contenido del directorio; si es otro directorio, entra y vuelve a
# listar el contenido. Si no es una carpeta, la mueve al directorio inicial.
# Tiene en cuenta carpetas vacías y archivos ocultos.
function movercosas () {
for objeto in * ; do
if [ -d "${objeto}" ] ; then
cd "${objeto}"
movercosas
cd ..
else
echo -e "\t... moviendo $objeto ..."
mv "${objeto}" "${directorioDestino}/${objeto}"
fi
done
}
shopt -s nullglob
shopt -s dotglob
echo -n "Introduce el directorio de inicio (desde '/'): "
read directorioInicio
echo -n "Introduce el directorio de destino (desde '/'): "
read directorioDestino
echo ""
if [ -d ${directorioDestino} ] ; then
: ; else
echo -e "\t... creando ${directorioDestino} ..."
mkdir -p ${directorioDestino}
fi
cd "${directorioInicio}"
movercosas
cd "${directorioInicio}"
shopt -u nullglob
shopt -u dotglob