シェルスクリプトについてまとめてみた

シェルスクリプトについてまとめてみた

これからシェルを使いそうな雰囲気がプンプンしているため初心者ながらシェルスクリプトを入門してみようと思います。

まずは環境の構築

上記でシェルを実行する環境を整えます。

  1. VagrantとVirtualBoxをインストールする。
  2. こちらよりcentos7を仮想環境として導入するスクリプトを確認する。
  3. 確認したコマンドを実施して環境を整える。
vagrant init centos/7
vagrant up
vagrant ssh

4.sshでcentosに入れることを確認する。(もしもユーザーやらパスワードを求められたらvagrantと入力する)

実際にシェルスクリプトを書いて実行してみる

  1. 任意のディレクトリにファイルを作成する。
touch hello.sh

2.スクリプトを書く。

vi ./hello.sh
#!/bin/sh
echo "helloworld"

3.実行する。 実行方法は3種類

sudo chmod 755 ./hello.sh
./hello.sh

基本的な操作(#!/bin/shは省略します)

echo 出力する文字
read
expr 2 \+ 2
expr 2 \- 2
expr 2 \* 2
expr 2 \/ 2
a=1
b=2
r=`expr $a \+ $b`
echo $r
if [ $res -eq $zero ]; then
  echo "偶数です"
else
  echo "奇数です"
fi
# 同値判定は=演算子を使用する(文字列)
if [ "ABC" = "ABC" ]; then
  echo "equal"
else
  echo "not equal"
fi

※ -epは数値の等価判定

var="red"
case "$var" in
  "blue" ) echo "bule" ;;
  "green" ) echo "green" ;;
  "red" ) echo "red" ;;
esac
int=0
while [ $int -lt 5 ]; do
  echo $int
  int=`expr $int \+ 1`
done
until [ ! \( $int -gt 0 \) ]; do
  echo $int
  int=`expr $int \- 1`
done
for var in 10 11 12 ; do
  echo $var
done
MyFunction () {
  echo "関数実行"
}
# 実行
MyFunction
add () {
  echo `expr $1 \+ $2`
}
# 実行
add 1 3

最後に

シェルは避けては通れないものだと思い勉強することにしました。

まだまだ新人のうちに勉強しておくことは多い。。

つまずいた部分はスペースがないと正常に判定されなかったり、うっかりwindowsで書いてしまい改行コードがCRLFになっていたため実行できなかったりの部分です。

Linuxでは改行コードがLFなので注意です!!