【初心者向け】Linux演習問題:シェルスクリプト編

  • このエントリーをはてなブックマークに追加
  • Pocket

シェルスクリプトの理解は進んだだろうか?

このページではシェルスクリプトの演習問題を用意してみた。ぜひ理解度チェックに試してみていただきた。

Linuxシェルスクリプトの演習問題

  1. 「bash」シェルのバージョンを確認してみよう。
  2. 「bash」のプログラムファイルが何処にあるのか「which」コマンドで確認してみよう。
  3. 「echo」コマンドを使用して「hello_world」と表示してみよう。
  4. 「echo」で表示した文字列を「testfile」にリダイレクトしてみよう。
  5. パイプを使用してみよう。「ls」コマンドの結果をパイプで「sort」コマンドへ繋ごう。
  6. 「sh」ファイルを作成して「chmod」で実行権限を与えてみよう。
  7. 「sh」の一行目にスクリプトとして必要な文字列を記述しよう。
  8. 「sh」シェルスクリプトに「#」でコメントを記述してみよう。
  9. 「bash」シェルスクリプト「sh」で「echo」を利用して「hello_world」と表示してみよう。
  10. 「var-hello_world.sh」というファイルを作成して、スクリプト内で変数「STR=hello_world」と代入、それを「echo」で表示させてみよう。
  11. 「if」文を使用して条件分岐してみよう。「if-gt.sh」を作成し「$NUM」の値が0より大きければ「True」と表示させてみよう。
  12. 「for-list.sh」というファイルを作成し、「for」文を使用して文字列「one two three」をリスト表示してみよう。
  13. 「while-line.sh」というファイルを作成し「while」文と「read」文を組み合わせて「/etc/fstab」の中身を一行づつ表示してみよう。
  14. 「test-func.sh」というファイルを作成し、「hello_world」と表示する「myfunc」という関数を作成して実際に「myfunc」を呼出してみよう。

解答は下記に用意している。

 

 

 

解答

演習解答1

bashのバージョンを確認したい場合は「bash --version」とすると確認が出来る。

bash-version

演習解答2

whichコマンドを使用すると、そのプログラムファイルがどこにあるのかパスを表示してくれる。シェルスクリプトを記述するときに1行目にシェルのパスを打ちこむ必要があるため、確認しておこう。

which-bash

演習解答3

echoコマンドを使用するとechoコマンドに渡した文字列が表示される。なお「$」などから始まる文字列の場合変数参照扱いになる。

echo-hello_world

演習解答4

リダイレクトとは「入出力先を変更する」ことをさす。今回の場合

$ echo hello_world > testfile

などとすれば良い。

re-echo

演習解答5

「ls| sort」とするとlsの内容がソートされて表示される。lsとsortの間にあるものを「パイプ」と言う。パイプはあらゆるコマンドを連結出来る。数にこれといった制限はないが大概の場合2つほどで用事は片付くはずだ。

ls-sort

演習解答6

touchもしくはエディタなどで作成したファイルを、スクリプトとして実行するには実行権限を与える必要がある。「chmod 755 hellow_world.sh」とするのが一般的だ。もしくは他人に実行されたくない場合は「chmod 700 hellow_world.sh」とするとよいだろう。

touch-hello_world-sh

演習解答7

bashシェルスクリプトの場合一行目には「#!シェルのパス」を記述する必要がある。今回の場合「#!/usr/bin/bash」と記述する必要がある。

演習解答8

コメントをスクリプト内にのこしたい場合は行頭に「#」と記述する。その行はコメントとなり、コマンドとして解釈されなくなる。

演習解答9

シェルスクリプトを実行して「hello_world」と表示する場合

などとするとスクリプトで「hello_world」を表示できる。

演習解答10

bashでは$を先頭につけた文字列を変数参照として扱うことになっている。

とすると「hello_world」が表示される。

hello_wold-sh

演習解答11

if文を使うと条件分岐ができる。今回の「$NUM」の値が0より大きい場合「True」と表示されるようになっている。

if-gt

演習解答12

for文を利用すると主にリストによる繰り返しが可能となる。

for-list

演習解答13

whileとreadを組み合わせるとファイルを一行づつ表示してくれる。よく使われる例なので丸暗記してしまってもかまわないだろう。今回は「fstab」を表示させてみた。一行づつ表示されているが、連続して表示しているためファイル内容がすべて表示される。

while-line

演習解答14

関数を利用することで処理を部品化することができる。今回は単純にechoを実行する関数を作成してみる。

なおfunctionは省略してもかまわない。関数を呼出したい場合は単に関数名をスクリプトに記述すればよい。

引数をうけとる場合は、名前につづけて引数を指定する。書式的には「関数の名前 引数...」となる。今回の例では引数はとっていないので「myfunc」とすればよい。

test-func

まとめ

このページではLinuxシェルスクリプトの演習問題をご紹介してきた。理解度チェックや腕試しに使っていただければ幸いだ。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する