Я знаю, что вы можете определить владельца каталога, выполнив:
ls -ld ~/foo | awk '{ print $3 }'
Затем вы можете сравнить его с текущим пользователем, выполнив это:
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
Но вы можете иметь права на запись, не будучи владельцем. Как вы это определяете?
statэто характерно для современных систем Linux, другие единицы могут иметь другоеstatили не иметь вообще. Синтаксический анализ ls обычно является причиной неприятностей , но синтаксический анализ владельца, поскольку третье слово в основном работает (после этого все рушится); это все еще не идеально (некоторые системы допускают пробелы в именах пользователей).