【今日のQ&A】シェルスクリプトとは?その2

こんにちは、@codeship_techです。

前回に引き続き、シェルスクリプトについての簡単な解説第2弾をピックアップしていきます!

シェルスクリプトってどういう時に使うの?

決まり切ったコマンド処理を入力一発でできるようになります。

例えば「ちょっとWebサイトのソースを書きたいな」と思った時に

「HTML, CSS, JavaScriptをしまうフォルダを作って、新しいindex.htmlを作って その中にCSS, JSフォルダを作って、それぞれ中にstyle.cssとmain.jsを作って、gitも使うことにして…」

という決まり切ったファイル・フォルダ作成の手順をこなすことはよくあると思います。
これを一瞬で実装してくれるコマンドを実装しましょう。

mkfiles.sh

powershell
#!/bin/sh

mkdir $1
cd $1
touch index.html
mkdir css js
touch css/style.css js/main.js
code . 
git init 
git add .
git commit -m "最初のコミット"

コマンドの解説

powershell
mkdir $1
cd $1
# 省略
mkdir css js

mkdirは今いる場所にディレクトリ(フォルダ)を作成するコマンドです。
cdディレクトリに移動するコマンドなので、作成したディレクトリの中に入ることになります。
$1にはコマンドライン引数が入り、呼び出すときに与えた文字が代入されます。
あとで呼び出すときに確認しましょう。
さらにその中でもcss, jsフォルダを作成していますね。

powershell
touch index.html
# 省略
touch css/style.css js/main.js

touchはファイルの最終処理日時を更新するコマンドですが、存在しないファイル名を打つとファイルを新規作成できます。
コマンドからindex.htmlを作成しました。
またcss/style.cssのように、フォルダの中にファイルを直接作成もできます。

powershell
code . 

codeでVSCodeをターミナルから直接開けます。
code .コマンドは今いるディレクトリをプロジェクトとしてVSCodeを開きます。
ただし事前にVSCodeを開いてこのコマンドをインストールしておく必要があります。
1. Command + Shift + Pでコマンドパレットを開く
2. “Shell”で検索
3. Shell Command: Install ‘code’ command in PATHを選択した状態でEnterでインストール

powershell
git init 
git add .
git commit -m "最初のコミット"

ついでにディレクトリ内でgitを使えるようにしておきました。
必須ではないですね。
先ほどと同様に実行してみましょう。

powershell
$ chmod 755 mkfiles.sh
$ ./mkfiles.sh myapp

実行するとき、作るディレクトリ名にmyapp$1に代入されます。
myappディレクトリがmkdirされ、そこにcdします。
以下のようなファイル構造が出来上がっていて、
VSCodeがmyappをプロジェクトとして起動していたら成功です!

Desktop
- myapp 
    - index.html
    - css
        - style.css
    - js 
          - main.js

シェルスクリプトはこのようの使うことができます!
ご参考までに!

授業日記についてのご意見

CodeShipの授業について「こんな事が知りたい・紹介して」というご意見・ご提案がありましたら、CodeShip公式Twitterアカウント(【CodeShip】プログラミングスクール)までDMまたはリプライにてお寄せください。