我知道您可以通过执行以下操作来确定目录的所有者:
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系统的,其他unice可能有所不同stat
或根本没有。解析ls通常是麻烦的秘诀,但是解析所有者(因为第三个单词)最有效(事后便会分解)。它仍然不是完美的(某些系统在用户名中允许使用空格)。