InfraAcademy
Linux中級講座

シェルスクリプト

Linuxのシェルスクリプトを学ぶ中級講座です。スクリプトの作成、実行、変数、条件分岐、繰り返し処理を理解し、定型作業を自動化する基礎を身につけます。

0%
スタートする

シェルスクリプトのレッスン

0 / 19 完了
1 今回の講座で学ぶ内容 シェルスクリプトの基礎を学ぶLinux中級講座の導入回です。シェルスクリプトとは何か、その作成方法の基本、if文や繰り返し処理といった制御構文の扱い方まで、今回の講座全体を通して学んでいく内容の見取り図をあらかじめ確認し、これから始まる一連の実践的な学習に向けた心構えと準備をしっかりと丁寧に整えていきます。 有料会員のみ 次に学習 2 シェルスクリプトとは? LinuxやUNIXシステムで一連のコマンドを自動化するために使われるシェルスクリプトの基本概念を解説します。ファイルの圧縮とコピーのように複数のコマンドを1つのスクリプトファイルにまとめ、そのつどコマンドを入力せずに一度の実行だけで処理を済ませられる仕組みについて、身近な例を交えながら初心者にもわかりやすく丁寧に学びます。 有料会員のみ 未受講 3 シェルスクリプトの活用場所 シェルスクリプトが実務の現場でどのように活用されるかを、バックアップなどのタスク自動化、大量のファイルに対する繰り返し処理、ログデータを読み込んでのレポート生成といった具体例を通して学びます。ユーザー管理やネットワーク設定といった日常業務でよく行う操作の自動化にも触れながら、その活用の幅広さを理解していきます。 有料会員のみ 未受講 4 Hello Worldと表示するシェルスクリプトの作成 vi script.shコマンドでシェルスクリプトファイルを作成し、シバン#!/bin/bashとechoコマンドを使ってHello Worldを出力する最初のスクリプトを作ります。chmod +xで実行権限を付与して./script.shで実行する流れに加え、sourceコマンドやbashコマンドを使った実行方法も解説します。 有料会員のみ 未受講 5 変数の使い方 シェルスクリプトにおける変数の使い方を学びます。MY_VAR="値"のような代入と$MY_VARによる参照方法に加え、dateコマンドなどのコマンド実行結果を$(コマンド)という書式で変数に格納して出力する方法を、script2.shの作成と実行を通して段階的に、初心者にもわかりやすく具体的に実践していきます。 有料会員のみ 未受講 6 引数の使い方 シェルスクリプトに外部から値を渡す引数の使い方を学びます。$1や$2で個々の引数を参照する基本方法に加え、$0や$#、$*、$@、$?、$$といった特殊記号がそれぞれ何を表すのかを一覧表で整理し、script3.shの実行例を通して一つずつ具体的に丁寧に確認していきます。実務でスクリプトを読み書きする際にも役立つ知識です。 有料会員のみ 未受講 7 readによる入力受け付け readコマンドを使ってユーザーからの入力をシェルスクリプト内で受け取る方法を学びます。script4.shを作成し、名前の入力を促してecho "Hello! $name"のように結果を表示するスクリプトを実践形式で作りながら、readコマンドの基本書式とその使いどころをしっかりと理解していきます。 有料会員のみ 未受講 8 シェルスクリプトの制御処理 シェルスクリプトにおける制御処理の全体像を整理する回です。これまでのように上から順に実行するだけの単純な処理と異なり、if文・case文による条件分岐、for文・while文による繰り返し処理という2つの大きなパターンがあることを確認し、次回以降のより詳しい学習内容へと丁寧につなげていきます。各構文の使い分けが分かるようになることが目標です。 有料会員のみ 未受講 9 if文 条件によって処理を分岐させるif文の書式と使い方を学びます。if [ 条件 ]; then〜else〜fiという基本構文をもとに、年齢を入力させて成人かどうかを判定するscript5.shを実際に作成し、elifを使って複数の条件分岐を記述する方法もあわせて具体的に丁寧に解説していきます。条件分岐の基本を体系的に身につけていく内容です。 有料会員のみ 未受講 10 case文 特定の値に応じて複数の処理を切り替えるcase文の書式と使い方を学びます。case 値 in〜esacという構文をもとに、変数fruitの値によって表示メッセージを出し分けるscript6.shを実際に作成し、選択肢が多い場面でのif文との使い分けについてもしっかりと理解を深めていきます。多くの分岐がある処理を読みやすく書く力を養います。 有料会員のみ 未受講 11 for文 一連の値に対して処理を繰り返すfor文の書式と使い方を学びます。for 変数 in アイテム...do〜doneという基本構文に加え、{1..100}という展開表記やseqコマンドを使った大量回数の繰り返し、ディレクトリ配下のファイルを対象にしたループ処理まで、幅広いパターンを段階的に実践していきます。 有料会員のみ 未受講 12 while文 指定した条件が真である間だけ処理を繰り返すwhile文の書式と使い方を学びます。while [ 条件 ] do〜doneという構文をもとに、countの値が5以下である間カウントアップを続けて出力するscript8.shを実際に作成し、その動作の流れを一つずつじっくりと丁寧に確認していきます。繰り返し処理の基本を体系的に身につけていきます。 有料会員のみ 未受講 13 条件式について if文やwhile文で使う条件式の詳しい書き方を学びます。-eqや-ltといった数値比較演算子、=や!=などの文字列比較演算子、-fや-dといったファイルテスト演算子それぞれの意味と使い分けを、具体的なシェルスクリプトの記述例をもとにひとつずつ、じっくりと時間をかけて丁寧に確認していきます。条件式の書き方を正確に扱えるようになることが狙いです。 有料会員のみ 未受講 14 シェルスクリプトの練習問題1 引数として渡された2つの数字の合計を表示するシェルスクリプトを作成する練習問題です。sum=$(( 変数 + 変数 ))やexprコマンドを使った計算方法をヒントとして、./script1.sh 5 3を実行すると8と出力される、といった実行例をもとに自分の力で試行錯誤しながら解答を組み立てていきます。 有料会員のみ 未受講 15 シェルスクリプトの練習問題1の解説 引数で受け取った2つの数字の合計を表示する練習問題の解答解説です。sum=$(( $1 + $2 ))による基本的な解答例に加え、引数の個数チェックや正規表現を使った数値判定をif文で行う、より堅牢な上級者向けのシェルスクリプトの実装例もあわせて具体的に詳しく紹介していきます。堅牢なスクリプトを書くための考え方も身につきます。 有料会員のみ 未受講 16 シェルスクリプトの練習問題2 ユーザーが入力したファイル名がシステム上に存在するかどうかを判定し、file exists.またはfile does not exist.と表示するシェルスクリプトを作成する練習問題です。readコマンドによる入力受け付けと、ファイルの存在チェックをどう組み合わせて実装するかを自分の頭で考えていきます。 有料会員のみ 未受講 17 シェルスクリプトの練習問題2の解説 ファイルの存在を確認するシェルスクリプトの練習問題の解答解説です。readコマンドでファイル名を受け取り、if [ -e "$file_name" ]という条件式で存在有無を判定し、file exists.またはfile does not exist.を出力する具体的な実装コードを一つずつ丁寧に解説していきます。 有料会員のみ 未受講 18 シェルスクリプトの練習問題3 入力されたファイル名の拡張子を判定し、.txtなら"text file"、.jpgなら"image file"と表示するシェルスクリプトを作成する練習問題です。ファイル名から拡張子だけを取り出す方法と、case文を使った条件分岐の組み合わせ方を、自分の頭でじっくりと考えながら実装していきます。拡張子ごとの分岐処理を実装する力を養う内容です。 有料会員のみ 未受講 19 シェルスクリプトの練習問題3の解説 ファイルの拡張子を判定するシェルスクリプトの練習問題の解答解説です。${file_name##*.}というパラメータ展開の記法で拡張子を取り出し、case文を使ってtxtやjpgに応じたメッセージを出し分ける具体的な実装コードを、コマンド実行例とあわせて一つずつじっくり丁寧に解説します。実装のポイントを一つずつ丁寧に振り返る内容です。 有料会員のみ 未受講