シェルスクリプトに挑戦!!

みなさんこんにちは!
いかがお過ごしでしょうか?
今回はシェルスクリプトについて紹介したいと思います。
シェルスクリプト聞くと
- なんだか難しそう
- 既にあるスクリプトをコピペして使いまわしている
- スクリプトを自分で作る自信が無い
etc…
シェルスクリプトを苦手としている方や初心者の方はこんな気持ちを抱いていると思います。
管理人もソフトウェアの開発に関わっていますが、シェルスクリプトの便利さに助けられています。
既存のスクリプトもリファクタリングすることも最近は多いです。
入社したころは内容は理解できても難しそうと感じて自分で極力編集作業は避けてきました。
しかし、これではいけないと思いシェルスクリプトを学び始めたところ作業効率化に非常に役立っています。
そういったこともあり、ぜひ皆さんにも便利さを知ってほしいと思い、今回記事を書きました。
シェルスクリプトを苦手としている方、初心者の方、最後の方に学習におすすめの本や動画コンテンツを
紹介しているので参考にしてください。
それではシェルスクリプトの特徴を述べたうえで、まずは定番のHello Worldに挑戦してみます!!
シェルスクリプトの特徴
- コンパイルが不要
- コマンド毎に処理がまとまるので手順書を作成する手間が減る
- ヒューマンエラーやコマンドの打ち間違いを激減できる
シェルスクリプトの主な特徴は個人的には上の3点かなと思っています。
特にコンパイルが不要というのは大きいです。コンパイルに時間がかかったりということもありますし、
エラーが発生してコードを修正といったこともあります。時にはエラーにはまって数日なんてこともあり得ます。
しかし、シェルスクリプトもエラーは発生しますがコンパイルに比べれば簡単に修正できますし
後述するechoコマンドを使えば簡単にコマンドラインに出力を行えます。
またファイルへの出力もリダイレクションを使えばお手軽にできます。
環境設定の自動化、テストの自動化等Linux上で自動化を考える上では非常に重要なピースの一つになります。
特徴の説明はこのぐらいにして次は実践編として定番のHello Worldを出力してみます。
実践!!Hello Worldの出力
さてここでは定番のHello Worldを出力してみましょう!
管理人は以下の環境で実行しています。
- 環境:Windows Subsystem for Linux (※通称WSL)
- 使用ディストリビューション:Ubuntu
WSLはWindows10の拡張機能で利用できるようになったLinuxの環境です。興味のある方は「Windows10 linux」や
「Windows10 WSL」等のワードで検索してみてください。
ステップ1:ログインシェルを確認しよう
まずは、自分のログインシェルが何なのか調べましょう。「echo $SHELL」と入力してエンターキーを押します。
すると、自分のログインシェルがわかります。管理人は「/bin/bash」でした。
※ディストリビューションによってはcshやtcshとなる場合があります。ログインシェルを変更する方法もありますが
それについてはまた別の機会に紹介します。
少し解説すると、$SHELLというのはLinux上に定義された環境変数でログインシェルの情報が記載されています。
現在のシェルを知りたい場合は「echo $0」とすることで知ることができます。
これからやることには関係ないので結果がcshやtcshと表示されても問題ありません。
しかし、中には環境変数の表示のされ方がシェルによって異なる場合があるので注意しましょう。
そのあたりについては別の記事で紹介できればと思います。
ステップ2:スクリプトファイルを書こう
次に以下のファイルを作成します。ファイル名は「Hello.sh」とします。
ファイルを作成し終えたら、「chmod +x Hello.sh」とコマンドを入力して実行権限を付与します。
実行権限が付与できたらHello.shを実行します。
成功すると「Hello World」が表示されるはずです。
以下にログインシェルの確認のコマンドを入力したときと、「Hello.sh」を実行した結果を載せておきます!

Hello Worldは無事に出力されましたか?
こうしてやってみると文字を表示するのはコンパイル言語よりもはるかに簡単ですね!
既存のLinuxコマンドを組み合わせていければ以下のような複雑なことも簡単にできます。
- シンボリックリンクの作成や削除
- ファイルのコピーや移動
- ファイルの名前変更
皆さんもシェルスクリプトをマスターして作業効率UPして自分の時間を確保できるようにしてください。
最後に
以上簡単な実践も兼ねたスクリプト作成でした。
これを機に興味を持っていただけたら管理人としても嬉しいです。
さて、そんな興味を持った方に向けて、管理人おすすめの本とUdemyの動画コンテンツを紹介します。
管理人おすすめの1冊
シェルスクリプトの基本から応用まで網羅されています。
眺めるもよし、辞書として傍らに置いておくもよしの1冊です。管理人もお世話になっている本です。
管理人おすすめ動画コンテンツ
次に管理人おすすめの動画コンテンツを紹介します。Udemyの動画コンテンツ購入方法はこちらで
紹介しているので購入の際はよければ参考にしてください。

この動画コンテンツはMacを使用している方やシェルスクリプトに絞って学びたいという人にオススメ
値段も2,400円と安価で購入しやすいと思います。

この動画コンテンツはシェルスクリプトだけではなく他のことも色々学びたい人向けです。
シェルスクリプト以外にも仮想環境の構築やLinuxの基本コマンドも学べるので腰を据えて学びたい方にオススメ
値段は10,200円と先ほどのものより高いですが十分にリターンを得られると思います。
上記の本や動画コンテンツを使用して皆さんもシェルスクリプトマスターを目指しましょう。
それではまた次の記事で!!。
