仕上げの例題
では、ここまでのコマンドの復習を兼ねて、次の5つの例題を解いてみましょう。
問1
「/root/dir」ディレクトリに、「sample1.txt」というファイルが存在したら削除するシェルスクリプト「reidai.sh」を作成してください。
問2
問1で作ったシェルスクリプトを実行してください。
問3
「/root/dir」ディレクトリに「sampleX.txt」というファイル(Xには1~100までの値が入る)が 存在したら削除するシェルスクリプトを、for文を使って作成してください。
問4
標準入力された文字列のファイルが 「/root/dir」ディレクトリに存在したら削除するシェルスクリプトを、readコマンドを使って作成してください。
例題の解答
問1の正解
if文を使います。
#!/bin/bash cd /root/dir if [ -f sample1.txt ] then rm sample1.txt fi
問2の正解
実行権限を付与してから実行します。
# chmod 755 reidai.sh # ./reidai.sh
問3の正解
if文はなくて構いませんが、for文の中でif文を使用する例として記述しています。
#!/bin/bash
cd /root/dir
for i in `seq 1 100`
if [ -f sample${i}.txt ]
then
rm sample${i}.txt
fi
問4の正解
readコマンドを使って取得した入力値を、if文の中で使用します。
#!/bin/bash
cd /root/dir
read str
if [ -f ${str} ]
then
rm ${str}
fi
まとめ
今回はシェルスクリプトの作成について学びました。シェルスクリプトは業務で作成することが多々あるかと思いますので、 今回説明した構文を覚えておくと役に立つ場面があるでしょう。また、既存のスクリプトを読み解くにあたっても必要になります。
「LPIC102」試験の範囲「105.1」で登場するシェル環境の設定ファイルなども、シェルスクリプトを学んだ上で見てみると理解が深まるはずですよ。
この記事は参考になりましたか?
- Linuxを知らない人のためのLPICレベル1【101試験】入門連載記事一覧
-
- viエディタとテキスト表示・検索・置換のコマンド
- シェルスクリプトの構文・書き方と実行方法~パーミッションの設定も
- ユーザ・グループとパスワードを管理するコマンドとファイル
- この記事の著者
-
土橋 直樹(システムアーキテクチュアナレッジ)(ツチハシ ナオキ)
システムアーキテクチュアナレッジにて講師を行う傍ら、IT技術情報ブログ「テックプロジン」や、スイーツ口コミサイト「スイートウォント」など、各種Webサービスの開発・運営に携わる。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

