> 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]

Responder a