2つのコマンドライン引数を使用します。 1つ目はディレクトリ名、2つ目はファイルサイズ(バイト単位)です。シェルスクリプトの名前を「listfiles」と指定します。 Øシェルプロンプトでの呼び出しは、「$ listfiles / tmp 50」と同じでなければなりません。 Ø最初に、シェルスクリプトは2つのパラメータのみが渡されることを確認する必要があります。 Øその後、シェルスクリプトは最初のパラメータが実際にディレクトリであることを確認する必要があります。 Øシェルスクリプトは、読み取り権限を持つディレクトリ内の指定されたサイズより小さいすべての一般ファイルを一覧表示する必要があります。
答え1
宿題なのでヒントのみさせていただきます。
- スクリプトに渡された引数は
$1
および$2
(より多くの引数の場合)として使用できます。 $#
渡されたパラメータの数。- このテストはディレクトリかどうかを
[ -d "dir" ]
テストします。dir
find . -type f -size -50
すべての一般的なファイルを見つけることができます現在の.
サイズが50バイト未満のディレクトリ()。
簡単な最初のスタート:
#!/bin/sh
echo "There are $# arguments passed, the first two are '$1' and '$2'"
残りの部分は、このサイトで関連する質問と回答を読んだり、コマンドを使って使用しているシェルのman
マニュアル(例:)を読んだりすると読むことができます。このコマンドを使用して、テストと数値の比較方法についても読むことができますman bash
。bash
help test
-d
find
man find
これは、このウェブサイトの問題に広く文書化され、引用されています。
また、勉強しているコースに関連するすべての学習資料を参考にしてください。
この質問は前の質問と重複して終了することがあります。もっと質問がある場合は、質問してください。問題を解決しながら、具体的で具体的な問題があるかどうかを説明してください。。
良い質問には、問題の説明、使用中のコード、コードの実行方法、表示される実際のエラーメッセージおよび/または警告メッセージ、コードが期待するものが含まれます。また、見ることができます「どうすれば良い質問ができますか?」そして「どんな種類の質問を避けるべきですか?内部にサポートセンター。
私たちはあなたを助けたいのですが、あなたのためにスクリプトを書くことはありません。