Wiem, że możesz określić właściciela katalogu, wykonując:
ls -ld ~/foo | awk '{ print $3 }'
Następnie możesz porównać to z bieżącym użytkownikiem, wykonując następujące czynności:
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
Ale możesz mieć uprawnienia do pisania bez bycia właścicielem. Jak to określić?
stat
jest to specyficzne dla współczesnych systemów Linux, inne jednorożce mogą mieć innestat
lub wcale. Parsowanie ls jest zwykle receptą na kłopoty , ale parsowanie właściciela, ponieważ trzecie słowo przeważnie działa (rzeczy się psują); wciąż nie jest doskonały (niektóre systemy dopuszczają spacje w nazwach użytkowników).