Contents
【わかりやすく】bash zsh シェルスクリプト入門【基礎】~その1~
bashでシェルスクリプトを書く準備
作業ファイルの作成
terminalで、自分が作業したいディレクトリへ移動します。
と入力し、test1.shをemacs上で書き換えていきます。
(emacs以外のテキストエディタでももちろんOKです。
atomやvimなど、お好みのテキストエディタをおつかいください。)
権限の編集
次に、実行ファイルとしての権限を付与するために、以下のコマンドを入力します。
chmodはファイルのアクセス権限を変更するコマンドです。
その次に書かれている755という数字は、ファイルに与えるパーミッションを指定するための数字です。
具体的には、左から順番に「自分」、「グループのメンバー」、「他人」に対応しています。
一番左の「7」は、「自分」が「読み、書き、実行」の権限をもつことを表し、
真ん中の「5」は、「グループのメンバー」が「読み、実行」の権限を、
右の「5」は、「他人」が同じく「読み、実行」の権限を持つことを表します。
数字は2進法で3桁の数字、つまり2の3乗=8通りあり、
1が実行、2が書き、4が読み
にそれぞれ対応しています。
これらを足し算することで、0~7までの数字が権限を表すことになります。
足し算 | 付与する権限 | ls -l の結果 | |
---|---|---|---|
7 | 4 + 2 + 1 | 読書実行 | rwx |
6 | 4 + 2 | 読書 | rw- |
5 | 4 + 1 | 読 実行 | r-x |
4 | 4 | 読 | r– |
3 | 2 + 1 | 書実行 | -wx |
2 | 2 | 書 | -w- |
1 | 1 | 実行 | –x |
0 | 0 | なし | — |
bashシェルスクリプトのコード
#! /bin/bash #<-bashを使用します
#Comment can be written with hash # #コメントはハッシュタグでかけます
#Hello worldです
echo “Hello World”
# declare variance
myName=”Tanaka”
declare -r NUM1=5
num2=4 #変数にはいろいろな宣言方法があります
num3=$((NUM1+num2)) # basic arithmetic
num4=$((NUM1-num2))
num5=$((NUM1*num2))
num6=$((NUM1/num2))
echo “5+4=$num3”
echo “5-4=$num4”
echo “5*4=$num5”
echo “5/4=$num6” #普通に算数もできます
echo $((5**2))
echo $(( 5%4 ))
# +=, ++, —
rand=5
let rand+=4
echo “$rand”
echo “rand++ = $(( rand++ ))” # show before increment
echo “++rand = $(( ++rand ))” # increment before show
#++や–なども使えますが、実行される順序に注意しましょう。
# you can use Python (here I use Python 3.x)
num7=1.2
num8=3.4
num9=$(python -c “print($num7+$num8)”)
echo $num9
#なんと、pythonがそのまま使えます
# EOF sentence
cat <<EOF
This text
prints on
many lines
EOF
# EOFで囲った間の文章がひとまとまりとみなされます。
参考文献
今回、bashのシェルスクリプトのコードは以下の動画を参考にしました。
(https://www.youtube.com/watch?v=hwrnmQumtPw&t=427s )
次に見るべき記事
本ブログでは、pythonをはじめとしたプログラミングに関する有益な情報をわかりやすく発信しています。
意外と知らない.bashrcと.bash_profileのつかいわけなど、ぜひ読んでみて下さい!


コメント