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?

Justin
fuente
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
muru
fuente
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