🐚

シェルスクリプトの基本その1

に公開

どうも、かりんです

はじめに

これから作業を自動化したいと考えている方には、シェルスクリプトを覚えておくことをおすすめいたします。
業務で使用する場面もありますし、プライベートでもファイル処理などを効率化できるため、覚えておいて損はございません。
そのため、まずは基礎的な部分から順を追って記録していきます。

シェルスクリプトとは何か

簡単に申し上げますと、ターミナルで使用するコマンドを並べて書いたファイルのことです。
たとえば、同じ操作を何度も繰り返しているような場合、それらをスクリプトとしてまとめておけば効率化につながります。

スクリプトの作成と実行権限の付与

シェルスクリプトは通常 .sh という拡張子で保存いたします。
例として、以下のような内容のファイルを hello.sh という名前で保存してください。

実行権限の付与
作成したばかりのスクリプトファイルには、通常「実行する権限」がありません。 そのため、以下のコマンドで実行権限を付与する必要があります。
まずは実行権限の確認からしていきます。

次に実行権限をを付与していきます

このコマンドで実行権限が付与されます。
確認していきます

このコマンドにより、ファイルに「実行可能」という属性が追加されます。
見ての通り、-rwxr-xr-xとなっていて「x」が追加されていので、xが実行権限という意味です。
詳しくはまた別の記事で解説します。

スクリプトの実行方法

実行権限を付与した後、以下のように実行いたします。

.(ドット)と /(スラッシュ)は「カレントディレクトリ(今いるフォルダ)にあるファイルを実行する」という意味になります。
実行すると以下のように出ます。

解説
・#!/bin/bash : 「このスクリプトは bash で実行します」という意味を示す記述です
・echo : 文字列を表示するコマンドです
※macOSではデフォルトシェルがzshの場合でも、スクリプト内でbashを指定すればbashで実行されます。
bashの方が安定して使いやすいのでおすすめです。違いはまた別で解説します。

おわりに
次回は、基本的なコマンド(cd、ls、cp など)の使い方や、簡単な制御構文(条件分岐など)について記述していく予定です。
また、現在はカレントディレクトリ(今いるフォルダ)からのみ実行できますが、今後はどこからでもスクリプトを実行できるように、環境変数(特に $PATH)の設定方法についても取り上げる予定です。これにより、自作のスクリプトを「コマンドのように」扱うことができるようになります。
まずは「ファイルに実行権限を与えてから、実行する」という基本操作をしっかり押さえていただければと思います。

Discussion