Ich weiß, dass Sie den Eigentümer des Verzeichnisses ermitteln können, indem Sie Folgendes tun:
ls -ld ~/foo | awk '{ print $3 }'
Sie können es dann mit dem aktuellen Benutzer vergleichen, indem Sie Folgendes tun:
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
Sie können jedoch die Berechtigung zum Schreiben haben, ohne der Eigentümer zu sein. Wie bestimmen Sie das?
stat
für moderne Linux-Systeme spezifisch ist. Andere Unices haben möglicherweise einen anderenstat
oder gar keinen. Das Parsen von ls ist normalerweise ein Rezept für Probleme , aber das Parsen des Besitzers, da das dritte Wort meistens funktioniert (die Dinge brechen danach zusammen); Es ist immer noch nicht perfekt (einige Systeme erlauben Leerzeichen in Benutzernamen).