判断当前用户是否有目录的写权限

判断当前用户是否有目录的写权限

我知道您可以通过执行以下操作来确定目录的所有者:

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

但您可以在不成为所有者的情况下拥有写入权限。你如何确定这一点?

答案1

我想

if [ -w ~/foo ]; then ....

应该做你想做的事。

此外,stat -c %U ~/foo这是比解析输出更好的获取所有者的方法ls

相关内容