-4

スクリプトを書くのに助けが必要です。

要件は次のとおりです。

ファイルまたはディレクトリ (/tmp/somefile または /home/username/somefile) への絶対参照を引数として取り、次のように表示するスクリプト:

  1. ファイルはファイルですか、それともディレクトリですか?
  2. ファイル/ディレクトリへの読み取りアクセス権はありますか?
  3. ファイル/ディレクトリへの書き込みアクセス権はありますか?
  4. ファイルは実行可能ですか?
  5. ファイルのパーミッション - 「ls -l」の rwx が機能します。

私が読むことができる良いリソースがあれば、遠慮なく投稿してください。よろしくお願いします。

4

1 に答える 1

1

これまでに何を試したかを示していないため、直接的な回答は差し控えます (これが宿題なのか、それとも試していないのかがわからないためです)。

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--

あなたのスクリプトで頑張ってください。

于 2012-07-12T15:24:39.760 に答える