動作環境 †
- OS X 10.11 El Capitan
- Vagrant 1.8.1
- VirtualBox 5.0.20 r106931
$ echo $SHELL
/bin/bash
Hello World †
$ vim hello.sh
#!/bin/bash
echo "hello world"
exit 0
# echo "hello world"; exit 0 でも可
$ chmod +x hello.sh
./hello.sh
hello world
変数を使ってみよう †
#!/bin/bash
# 変数の代入は"="の前後にスペースを空けてはいけない
s="hello"
# 変数を利用する場合は"$"を使う
# 以下のいずれの書き方もOK
echo $s
echo "$s"
echo "${s}"
# 文字列の連結
echo $s$s
echo "$s $s"
# シングルクォーテーションは変数展開されない
echo '$s'
$ ./hello.sh
hello
hello
hello
hellohello
hello hello
$s
数値演算をしてみよう †
#!/bin/bash
x=10
echo $x+2 # "$x+2"という文字列となり計算されない
echo `expr $x + 2`
$ ./hello.sh
10+2
12
四則演算をしてみよう †
#!/bin/bash
x=10
echo `expr $x - 2` # 引き算
echo `expr $x / 2` # 割り算
echo `expr $x \* 2` # 掛け算
echo `expor \( $x + 5 \) \* 2` # 括弧を含む計算
# *や()の前にエスケープシーケンスが必要。エスケープしないとsyntax errorとなる。
$ ./hello.sh
8
5
20
30
#!/bin/bash
readonly FILE_NAME="hello.sh"
FILE_NAME="hello2.sh"
$ ./hello.sh
./hello.sh: line 11: FILE_NAME: readonly variable