So che puoi determinare il proprietario della directory facendo:
ls -ld ~/foo | awk '{ print $3 }'
È quindi possibile confrontarlo con l'utente corrente in questo modo:
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
Ma puoi avere le autorizzazioni per scrivere senza essere il proprietario. Come lo determini?
stat
è specifico per i moderni sistemi Linux, altri unices potrebbero avere un diversostat
o nessuno. L'analisi di ls è di solito la ricetta per i problemi , ma l'analisi del proprietario come la terza parola funziona principalmente (le cose si rompono in seguito); non è ancora perfetto (alcuni sistemi consentono spazi nei nomi utente).