Pregunta:
¿Hay alguna forma de determinar fácilmente si puedo leer o escribir en un archivo determinado o desde él, o si tendré que usar "sudo" para hacerlo? Ejecutar comandos innecesariamente como sudo significa que esos archivos se crean con el usuario root como propietario, lo cual no es deseable.
Algo como
is_readable /path/to/file
if [[ $? == 0 ]]; then
do_command /path/to/file;
else
sudo do_command /path/to/file;
fi
Respuesta:
Puede probar el interruptor -w
de la utilidad de test
:
[ -w /path/to/file ] && do_command /path/to/file || sudo do_command /path/to/file
O la versión larga:
if [ -w /path/to/file ]; then
do_command /path/to/file
else
sudo do_command /path/to/file
fi
Desde la página de manual
-w FILE
FILE exists and write permission is granted