Comprobar un archivo y si es legible y escribible


17

Estoy tratando de escribir un script que busque un cierto archivo .txt guardado en mi escritorio. Quiero que el script pueda verificar si este archivo existe y luego verificar si es legible y escribible.

¿Alguna pista?


lea las expresiones condicionales de Bash en el manual y use los operadores -ry-w
glenn jackman

Respuestas:


28

No necesita verificar si existe, las verificaciones de permisos de lectura y escritura son suficientes:

De help test, una selección de pruebas relevantes:

-a FILE        True if file exists.
-e FILE        True if file exists.
-f FILE        True if file exists and is a regular file.
-r FILE        True if file is readable by you.
-s FILE        True if file exists and is not empty.
-w FILE        True if the file is writable by you.

Entonces puedes probar:

FILE="/path/to/some/file"

if [[ -r $FILE && -w $FILE ]]
then
# do stuff
else
# file is either not readable or writable or both
fi

2
¿No debería ser en if [[ -r $FILE ]] && [[ -w $FILE ]]lugar de if [[ -r $FILE && -w $FILE ]]?
Videonauth

1
@Videonauth ver gnu.org/software/bash/manual/bash.html#Conditional-Constructs , &&etc. están permitidos en[[
muru
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.