ぐーたらIT

シロルのぐーたら休日録

IT技術について勉強メモを書いていくブログです。

Linux シェルスクリプト ~勉強前の準備など~

久しぶりの投稿になります。(社会人って忙しいのね…)
今回はシェルスクリプトを勉強するために、ファイルの配置場所や書き方などを簡単にご説明します。

1.シェルを書いてみる

シェルを作っていきます。
Linuxにファイル拡張子などの概念はありませんが、わかりやすいように名前を付けます。

$ vi test.sh

test.shに下のような感じで書き込みます。
中身の説明は下に書きます。

#!/bin/sh
printf "Hello "
echo "World"
#コメントです。

ファイルの権限を設定します。
lsコマンドで所有者がrwxまたはr-xとなっていればやらなくてもいいです。(実行権がないとシェルが使えないため)

$ chmod 750 test.sh

実行します。

$ ./test.sh
Hello World

簡単ですね。

では、test.shの説明をします。

#!/bin/sh

これは、簡単に言うと「このファイルはシェルですよー」という宣言みたいなものです。
もう少し詳しく説明すると、先頭行に「#!」(シェバング)が書かれていると次に指定されたコマンドなどを実行するという意味になります。
/bin/lsとか指定すると、まんまlsコマンドみたいになります。(引数を指定する必要あり)
コメントも先頭に「#」を書くので紛らわしいですね。

printf "Hello "
echo "World"

上から順にコマンドが実行されていきます。
脱線しますが、printfコマンドはC言語みたいな使い方ができます。
echoコマンドは、末尾が自動で改行されます。


2.シェル名だけで実行する

シェルを実行するのにわざわざ「./test.sh」とか面倒ですよね。

シェル名だけで使用可能にする

ホームディレクトリにシェルを配置するためのディレクトリを作成します。(ホームでなくてもいいです)

$ mkdir shellscript
$ cd shellscript

先ほど作ったシェルを移動させます。(「~」はホームディレクトリを指します。)

$ mv ~/test.sh ~/shellscript

シェルを配置したディレクトリを確認します。
「siroru」は筆者の環境なのでご注意ください。

$ pwd
/home/siroru/shellscript

ではホームディレクトリに戻って、PATHを通します。
編集するのは、ホームディレクトリにある「.bash_profile」というものです。
一応バックアップを取っておきます。(「.org」はオリジナル ← わかりやすいファイル名にする)

$ cp .bash_profile .bash_profile.org

では編集します。

$ vi .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

編集するのはここです↓

PATH=$PATH:$HOME/.local/bin:$HOME/bin

先ほど、pwdコマンドで出力された結果を後ろに貼り付けます…が、
この時、必ず「:」を末尾に追加してから貼り付けてください。

PATH=$PATH:$HOME/.local/bin:$HOME/bin:/home/siroru/shellscript

保存して再起動
(※ログイン時に.bash_profileは読み込まれるので、再度ログインするだけでも可能)

$ reboot

シェル名だけで実行できるようになるはずです。

$ test.sh
Hello World


今回はここまでです。
ありがとうございました。