web-dev-qa-db-ja.com

現在のユーザーがディレクトリへの書き込み権限を持っているかどうかを確認します

私はあなたがディレクトリの所有者を決定できることを知っています:

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

ただし、所有者でなくても書き込み権限を持つことができます。これをどのように判断しますか?

9
Tyilo

私は考えます

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

あなたがしたいことをする必要があります。

また、stat -c %U ~/fooは、ls出力を解析するよりも、所有者を取得するための優れた方法です。

20
enzotib