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$