シェルスクリプトの書き込み権限

シェルスクリプトの書き込み権限

ユーザーがディレクトリへの書き込み権限を持っているかどうかを確認する方法は、ディレクトリ名がコマンドライン引数として渡されます。

答え1

@SHWの答えは良い考えではなく、場合によっては間違った結果を返します。

test次のコマンド(またはエイリアス)のみを使用してください[

if [ -w "$dirname" ]; then
    echo "$dirname is writable"
fi

テストをtest含む命令は履歴を確認するのではなく、書き込み可能性を確認するために呼び出されるためです。-wUNIX permission bitsaccess(2)

これを使用すると、既存のUNIX権限ビットを確認するときに欠落している影響も含まれるという利点がaccess(2)あります。accessACL

答え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"

関連情報