神戸学院大学 経営学部 林坂ゼミ

CLI 入門トップページ

« 戻る 次へ »

Bash

スクリプトの実行

変数の利用

Bash では変数を利用することができます.変数は「!変数名」で参照します.まだ,「NAME」という変数は定義されていないので,次のような結果になります.

rinsaka@ubuntu:~/Documents/work$ echo "Hello $NAME!" ⏎
Hello !
rinsaka@ubuntu:~/Documents/work$

変数「Name」に文字列を代入して,その内容と共に文字列を画面に表示します.

rinsaka@ubuntu:~/Documents/work$ NAME="Koichiro" ⏎
rinsaka@ubuntu:~/Documents/work$ echo "Hello $NAME!" ⏎
Hello Koichiro!
rinsaka@ubuntu:~/Documents/work$

変数の内容を削除するには「unset」を利用します.

rinsaka@ubuntu:~/Documents/work$ unset NAME ⏎
rinsaka@ubuntu:~/Documents/work$ echo "Hello $NAME!" ⏎
Hello !
rinsaka@ubuntu:~/Documents/work$

目次に戻る

スクリプト

vi (vim) エディタやVisual Studio Codeなどのテキストエディタで次のようなスクリプトを作成して保存します.このとき,拡張子には「.sh」を使用します.

hello.sh
#!/bin/bash

NAME="Taro"
echo "Hello $NAME!"

「hello.sh」ファイルが保存されていることを確認します.ただし,「hello.sh」ファイルには実行権限「x」が付与されていないので,そのままでは実行できません.

rinsaka@ubuntu:~/Documents/work$ ls -l ⏎
total 8
-rw-rw-r-- 1 rinsaka rinsaka  45 Aug  3 02:38 hello.sh
-rw-rw-r-- 1 rinsaka rinsaka 369 Aug  3 01:59 test1.txt
rinsaka@ubuntu:~/Documents/work$

次のコマンドを用いてファイルに実行権限を付与します.

rinsaka@ubuntu:~/Documents/work$ chmod +x hello.sh ⏎
rinsaka@ubuntu:~/Documents/work$

実行権限が付与されたことが確認できました.

rinsaka@ubuntu:~/Documents/work$ ls -l ⏎
total 8
-rwxrwxr-x 1 rinsaka rinsaka  45 Aug  3 02:38 hello.sh
-rw-rw-r-- 1 rinsaka rinsaka 369 Aug  3 01:59 test1.txt
rinsaka@ubuntu:~/Documents/work$

スクリプトを実行するにはファイル名の先頭に「./」を付与します.

rinsaka@ubuntu:~/Documents/work$ ./hello.sh ⏎
Hello Taro!
rinsaka@ubuntu:~/Documents/work$

条件分岐は次のような感じになります.なお,-ge は以上 (Grater than or Equal to) を意味します.

age.sh
#!/bin/bash

age=20
if [[ $age -ge 18 ]]; then
  echo "成人"
else
  echo "未成年"
fi
rinsaka@ubuntu:~/Documents/work$ ./age.sh ⏎
成人
rinsaka@ubuntu:~/Documents/work$

配列も利用してみましょう.

fruits.sh
#!/bin/bash

# 配列
items=("apple" "banana" "orange")
# ループ
for item in "${items[@]}"; do
  echo "果物:$item"
done
rinsaka@ubuntu:~/Documents/work$ ./fruits.sh ⏎
果物:apple
果物:banana
果物:orange
rinsaka@ubuntu:~/Documents/work$

目次に戻る