これまでに何を試したかを示していないため、直接的な回答は差し控えます (これが宿題なのか、それとも試していないのかがわからないためです)。
bash の man ページの「条件式」セクションが役に立ちます。
たとえば、テスト コマンドのリストの下に次のように入力します。
-r file
True if file exists and is readable.
if
それをステートメントに適用すると:
[me@home]$ if [ -r $HOME ]; then echo "readable"; else echo "not readable"; fi
readable
[me@home]$ if [ -r /root ]; then echo "readable"; else echo "not readable"; fi
not readable
これは、2 番目の質問、つまり「ファイル/ディレクトリへの読み取りアクセス権を持っていますか?」の答えになるはずです。
「ディレクトリである」、「書き込み可能である」、「実行可能である」などをテストするための同様のフラグがあり、他の質問のほとんどに答えます (最後の質問は別として)。
最後の質問ですが、 からアクセス許可列を抽出する 1 つの方法を次に示しますls -l
。
[me@home]$ ls -l $HOME/.bashrc | awk '{print $1}'
-rw-r--r--
あなたのスクリプトで頑張ってください。