Sé que puede determinar el propietario del directorio haciendo:
ls -ld ~/foo | awk '{ print $3 }'
Luego puede compararlo con el usuario actual haciendo esto:
if [[ $(ls -ld ~/foo | awk '{ print $3 }') == "$USER" ]] # or $(id -u -n ) instead of $USER
then
echo "You are the owner"
else
echo "You are NOT the owner"
fi
Pero puede tener permisos para escribir sin ser el propietario. ¿Cómo se determina esto?
stat
es específico de los sistemas Linux modernos, otros unices pueden tener uno diferentestat
o ninguno. Analizar ls suele ser una receta para problemas , pero analizar al propietario como la tercera palabra funciona en su mayoría (las cosas se descomponen después); todavía no es perfecto (algunos sistemas permiten espacios en los nombres de usuario).