ファイルのパーミッションを判別するスクリプトサンプルを以下に記します。
利用したシェルはbashになります。
読み込み可能かどうかを確認するには、-rを利用すれば簡単に確認することができます。
以下のサンプルスクリプトはファイルが読み込み可能かどうかを確認するスクリプトです。
chmodコマンドでreadのパーミッションを変更し-rの動作確認を行いました。
#!/bin/bash echo "read" > test.txt chmod -r test.txt ls -l test.txt if [ -r test.txt ]; then echo "READ OK" else echo "READ NG" fi chmod +r test.txt ls -l test.txt if [ -r test.txt ]; then echo "READ OK" else echo "READ NG" fi rm test.txt
上記のサンプルスクリプトの実行結果です。 読み込み(r)を変更し、読み込み可能の場合は READ OK, 読み込み不可能の場合は READ NG が出力されています。
[sakura@centos6 ~]$ chmod +x sample-01.sh [sakura@centos6 ~]$ ./sample-01.sh --w--w---- 1 sakura sakura 5 5月 12 23:18 2012 test.txt READ NG -rw-rw-r-- 1 sakura sakura 5 5月 12 23:18 2012 test.txt READ OK
書き込み可能かどうかを確認するには、-wを利用すれば簡単に確認することができます。
以下のサンプルスクリプトはファイルが書き込み可能かどうかを確認するスクリプトです。
chmodコマンドでwriteのパーミッションを変更し-wの動作確認を行いました。
#!/bin/bash echo "write" > test.txt chmod -w test.txt ls -l test.txt if [ -w test.txt ]; then echo "WRITE OK" else echo "WRITE NG" fi chmod +w test.txt ls -l test.txt if [ -w test.txt ]; then echo "WRITE OK" else echo "WRITE NG" fi rm test.txt
上記のサンプルスクリプトの実行結果です。 書き込み(w)を変更し、書き込み可能の場合は WRITE OK, 書き込み不可能の場合は WRITE NG が出力されています。
[sakura@centos6 ~]$ chmod +x sample-02.sh [sakura@centos6 ~]$ ./sample-02.sh -r--r--r-- 1 sakura sakura 6 5月 12 23:27 2012 test.txt WRITE NG -rw-rw-r-- 1 sakura sakura 6 5月 12 23:27 2012 test.txt WRITE OK
実行可能かどうかを確認するには、-xを利用すれば簡単に確認することができます。
以下のサンプルスクリプトはファイルが実行可能かどうかを確認するスクリプトです。
chmodコマンドでexecuteのパーミッションを変更し-xの動作確認を行いました。
#!/bin/bash echo "execute" > test.txt chmod -x test.txt ls -l test.txt if [ -x test.txt ]; then echo "EXECUTE OK" else echo "EXECUTE NG" fi chmod +x test.txt ls -l test.txt if [ -x test.txt ]; then echo "EXECUTE OK" else echo "EXECUTE NG" fi rm test.txt
上記のサンプルスクリプトの実行結果です。 実行可能(x)を変更し、実行可能の場合は EXECUTE OK, 実行不可能の場合は EXECUTE NG が出力されています。
[sakura@centos6 ~]$ chmod +x sample-03.sh [sakura@centos6 ~]$ ./sample-03.sh -rw-rw-r-- 1 sakura sakura 8 5月 12 23:35 2012 test.txt EXECUTE NG -rwxrwxr-x 1 sakura sakura 8 5月 12 23:35 2012 test.txt EXECUTE OK