ユーザーがディレクトリへの書き込み権限を持っているかどうかを確認する方法は、ディレクトリ名がコマンドライン引数として渡されます。
答え1
@SHWの答えは良い考えではなく、場合によっては間違った結果を返します。
test
次のコマンド(またはエイリアス)のみを使用してください[
。
if [ -w "$dirname" ]; then
echo "$dirname is writable"
fi
テストをtest
含む命令は履歴を確認するのではなく、書き込み可能性を確認するために呼び出されるためです。-w
UNIX permission bits
access(2)
これを使用すると、既存のUNIX権限ビットを確認するときに欠落している影響も含まれるという利点がaccess(2)
あります。access
ACL
答え2
書き込み権限を見つける簡単なスクリプト
ls -ld directory | cut -c -10 > temp_perm
owner_perm=`cut -c 3 temp_perm`
group_perm=`cut -c 6 temp_perm`
other_perm=`cut -c 9 temp_perm`
[ "$owner_perm" -eq "w" ] && echo "Owner have write permission"
[ "$group_perm" -eq "w" ] && echo "Group have write permission"
[ "$other_perm" -eq "w" ] && echo "Other have write permission"