LoginSignup
2
1

More than 3 years have passed since last update.

【勉強用】シェルとシェルスクリプトを初心者視点から

Last updated at Posted at 2019-10-26

免責事項

この記事は初心者視点でザックリとした説明をしています。正確性に欠ける可能性がございますが、ご了承ください。「明らかに違うよ」ということがありましたら、ご指摘くださると幸いです。

環境

OS:最新版ではないMacOS
VirtualBox:5.2.26
Vagrant:2.2.6
Ubuntu:ubuntu/bionic64 v20181129.0.0

目次

  1. シェルとは
  2. シェルスクリプトとは
  3. Bashを利用したシェルスクリプト実践

1. シェル

シェルは、OSとやりとりするためのインターフェースを提供する機能(ソフトウェア)のことです。
「OSの中核となるカーネルを包み込む貝殻」という意味で、シェルと言います。

各OSによってシェルはさまざまにあり、CLIやGUIのどちらの形態のシェルもあります。

例えば、MacOS用のファイルマネージャである「Finder」
がGUI形態のシェルです。
macOS-high-sierra-finder-topic-icon.png

しかし、一般的にシェルというと、CLI形態のシェルを指すことが多いです。

2. シェルスクリプトとは

シェルスクリプトは、シェルを扱うためのCLI向けスクリプト言語のことです。
LinuxなどUnix系コマンドで記述されたファイルを実行することで、ファイル操作、プログラム実行などの役割をします。
スクリーンショット 2019-10-26 12.25.32.png
(シェルスクリプト)

今回は「Bash」と言うシェルを利用します。

3. Bashを利用したシェルスクリプト実践

①シェルスクリプト用ファイルの作成

まずは、シェルスクリプトを記述するファイルを作成します。
ファイル名はなんでも良いですが、拡張子を「.sh」としてください。

②シェルスクリプトを記述する

ファイルを作成したら、コマンドを書き込んでいきます。

ファイル名.sh
#!/bin/bash
date
echo 'Hello World'
echo '名前を入力して下さい'
read name
echo your name is $name

1行目の、

#!/bin/bash

は、「シバン(shebang)」といい、bashを使用したシェルスクリプトであることを宣言しています。

2行目以降の、

date
echo 'Hello World'
echo '名前を入力して下さい'
read name
echo your name is $name

は、
はじめに、dateコマンドを実行した後に、
echoコマンドを実行しターミナルに
'名前を入力して下さい'と表示させるという処理です。
readコマンドは、値が入力されるのを待ち、入力された値がnameに代入されます。
さいごにechoコマンドを実行し、
your name isの後に、nameに代入された値が表示されます。

※シェルスクリプトの変数

シェルスクリプトの変数は以下のように記述します。

number=100
name='taro'

③シェルスクリプト用ファイルの実行

ファイルの中身が書けたら、ターミナルに

./ファイル名.sh

と入力します。
すると、
スクリーンショット 2019-10-26 13.33.24.png
と表示されると思います。
そこで、名前を入力すると、
スクリーンショット 2019-10-26 13.35.03.png
このような表示になりました。

以上がシェルスクリプトです。
今回は簡単にコマンド入力だけを実行しましたが、うまく命令を使いこなせるようになるとファイルの作成などは高速に行えるようになり、業務が効率化されるらしいです。

※Linuxのファイル権限について

Linux環境で、./ファイル名.shと入力したとき、

bash: ./ファイル名.sh: Permission denied

と表示されるかもしれません。
これは、Linuxのファイルには権限管理がなされているからです。
その場合は以下のコマンドをターミナルに入力してみてください。

chmod a+x ファイル名.sh

以上のコマンドは、指定したファイルがいかなるユーザーであっても実行できるようにファイルの権限を設定しています。

参考

「N予備校 プログラミングコース」
https://www.nnn.ed.nico/
「初心者向けシェルスクリプトの基本コマンドの紹介」
https://qiita.com/zayarwinttun/items/0dae4cb66d8f4bd2a337

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1