> Para un ejercicio de bash, tengo este enunciado:
>
> Realizar un script que permita ingresar un nombre de directorio y de
> como resultado el nombre de cada archivo en él y una leyenda que diga
> "Directorio", "Enlace" o "Archivo regular"; según corresponda.
>
>
> El problema es que para este script, todos los archivos son enlaces. :-(
A mi me anduvo, en parte,los cambios que le hice fueron:
#! /bin/bash
read DiR
for i in `ls $DiR`
do
if [ -d $i ]
then
echo $i " Es un directorio"
elif [ -h $i ]
then
echo $i " Es un enlace"
elif [ -f $i ]
then
echo $i " Es un archivo regular"
fi
done
En el man de bash (man bash) estan todas las expresiones para determinar
que tipo de archivo es.
-a file
True if file exists.
-b file
True if file exists and is a block special file.
-c file
True if file exists and is a character special file.
-d file
True if file exists and is a directory.
-e file
True if file exists.
-f file
True if file exists and is a regular file.
-g file
True if file exists and is set-group-id.
-h file
True if file exists and is a symbolic link.
-k file
True if file exists and its sticky bit is set.
-p file
True if file exists and is a named pipe (FIFO).
-r file
True if file exists and is readable.
-s file
True if file exists and has a size greater than zero.
-t fd True if file descriptor fd is open and refers to a terminal.
-u file
True if file exists and its set-user-id bit is set.
-w file
True if file exists and is writable.
-x file
True if file exists and is executable.
-O file
True if file exists and is owned by the effective user id.
-G file
True if file exists and is owned by the effective group id.
-L file
True if file exists and is a symbolic link.
abrazos,
lukio
--
Para desuscribirte tenés que visitar la página
https://listas.linux.org.ar/mailman/listinfo/lugar-gral/
/* Publica y encontra trabajo relacionado con softlibre en
http://www.usla.org.ar/modules/jobs/ */
Si tenés algún inconveniente o consulta escribí a mailto:[EMAIL PROTECTED]