Linuxに触れたらまずはシェルスクリプトを作って動かしてみよう~初心者向けの入門書
Linuxに触れたら、
まずはシェルスクリプトを作って動かしてみよう。
昔を懐かしんでLinuxやUnixに触れ始めた頃、
GUIのOSに慣れていた自分にとってCUIのOSは
ものすごくとっつきにくかった。
とにかく
習うより慣れろでした。
Linuxの最低限のコマンドである、cd、ls、pwd、cp、exitを覚える。
その次にviなどでテキストエディタを取り扱えるようにする。
プログラミングをやる人も、サーバを構築する人も、開発者も運用者もviは重要。
ただviの説明は今回は割愛。
viを覚えた次は、やはり自分で考えて動かしてみるステップでLinuxに徐々に馴染んでいきました。
そのことを思い出して、初歩的なところになりますが、要所をご紹介します。
シェルスクリプト
今回はLinuxの標準のシェルであるbashで、
スクリプト言語を組んで、実行してみましょう。
Hello、Woldを表示させる
vi ファイル名
でシェルスクリプトを作成開始。
ファイル名は今回は、 01_Test.sh。
作成したスクリプトは下記の通りです。
#!/bin/bash
test01="Hello, World"
echo "$test01"
簡単に解説します。
解説
1行目の#!/bin/bashは、インタプリタとしてbashを使用することを表しています。
2行目は変数test01に文字列「Hello, World」を代入し、
3行目のechoで変数test01の値を表示させています。
シェルスクリプトの実行方法
筆者が知っているシェルスクリプトの実行方法は4種類。
実行例と結果
[admin@localhost 01_Test]$ bash 01_Test.sh
Hello, World[admin@localhost 01_Test]$ source 01_Test.sh
Hello, World[admin@localhost 01_Test]$ . 01_Test.sh
Hello, World[admin@localhost 01_Test]$ ./01_Test.sh
Hello, World
シェルスクリプトの様々な変数
早速使用してみましょう。
02_Test.shというファイルで下記のようなスクリプトを記述します。
[admin@localhost 01_Test]$ cat 02_Test.sh
#!/bin/bash
echo "$0"
echo "$$"
実行します。
[admin@localhost 01_Test]$ ./02_Test.sh
./02_Test.sh
3172
上記より、実行されたシェル名は「02_Test.sh」で、
実行時のシェルのプロセスIDは「3172」であることがわかります。
このスクリプトの終了コードは、
[admin@localhost 01_Test]$ echo $?
0
となっており、「0」で正常に終了されていることがわかる。
ここまでは固定の文字列を予めスクリプト言語内に設定しておき、
それを呼び出すだけのものですが、
業務上、そのような決まりきった定数だけの
シェルスクリプトを実行させる機会は少なく、
入力値が実行ごとに変化するような用途のほうが多いでしょう。
入力値はデータベースから取得する場合や、
TeraTermなどのコンソール上からの引数を設定する場合などがあるでしょう。
今回は、後者の、コンソールから入力値を引数として受け取る方法をご紹介します。
シェルスクリプトで使用する引数の種類
- $数値: 〇番目の引数の値
- $# : 引数の個数
- $@ : 引数全部
記述したシェルスクリプト。
[admin@localhost 01_Test]$ cat 03_Test.sh
#!/bin/bash
echo $1
echo $2
echo ${3}
echo $@
echo $#
実行例。
1番目の引数として、「aaa」
2番目の引数として、「bbbb」
3番目の引数として、「ccccc」
をシェルスクリプトに渡す。
[admin@localhost 01_Test]$ ./03_Test.sh aaa bbbb ccccc
結果
aaa
bbbb
ccccc
aaa bbbb ccccc
3
1行目から3行目は、入力した引数の値がそのまま出力されています。
4行目「aaa bbbb ccccc」は引数をすべて出力しています。
5行目は引数の個数「3」を出力しています。
いかがでしたでしょうか。
初心者のとき、筆者はこれをまず覚えました。
if文、for文は他のプログラミング言語と構文が似ているため、
シェルは初心者でも、Javaなどを扱ったことがあるかたにとっては
抵抗が少ないかと思います。
ですので、まずはこれだけ覚えてしまえば、
きっとすぐに使いこなせるのではないでしょうか。
独学にならないために
習うより慣れろ、ですが、独学はやはり避けたいところです。
基礎や定石を学び、習得し、そこから発展させ、
綺麗なコードをどうやったら書くことができるか、
を考えながらプログラミングを習得するといいと思います。
そこでシェルスクリプトを習得するために、
入門者向けの本をご紹介いたします。
入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界
- 作者: ブルース・ブリン,Bruce Blinn,山下哲典
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2003/02
- メディア: 単行本
- 購入: 18人 クリック: 331回
- この商品を含むブログ (62件) を見る
[改訂新版] シェルスクリプト基本リファレンス ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)
- 作者: 山森丈範
- 出版社/メーカー: 技術評論社
- 発売日: 2011/04/27
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 119回
- この商品を含むブログ (9件) を見る
UNIXシェルスクリプトハンドブック (Technical handbook series (001))
- 作者: 関根達夫
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/03
- メディア: 単行本
- クリック: 8回
- この商品を含むブログ (11件) を見る
ネットでかなり例文や文法は習得できますが、
本のほうがやはり安心感あるかと思います。