【わかりやすく】bash zsh シェルスクリプト入門【基礎】~その1~

スポンサーリンク
pythonやプログラミングへの挑戦
スポンサーリンク
スポンサーリンク

【わかりやすく】bash zsh シェルスクリプト入門【基礎】~その1~

bashでシェルスクリプトを書く準備

作業ファイルの作成

terminalで、自分が作業したいディレクトリへ移動します。

emacs test1.sh

と入力し、test1.shをemacs上で書き換えていきます。

(emacs以外のテキストエディタでももちろんOKです。

atomやvimなど、お好みのテキストエディタをおつかいください。)

権限の編集

次に、実行ファイルとしての権限を付与するために、以下のコマンドを入力します。

chmod 755 test1.sh

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のつかいわけなど、ぜひ読んでみて下さい!

 

.bashrcと.bash_profileとは?何?どこ?違いは?いつ読み込まれる?使い分けは?
.bashrcと.bash_profileとは?何?どこ?違いは?いつ読み込まれる?使い分けは? .bashrcと.bash_profileとは?何? .bashrcと.bash_profileは、bashの設定を書き込むためのファイル...

 

bashとzsh、違いは?切り替え方は?bashって何?zshって何?
bashとzsh、違いは?切り替え方は?bashって何?zshって何? bashって何?zshって何? bashやzshはシェルの種類です。 以前の記事でお伝えしたように、Catalina以降のmacではzshがデフォルトになりま...

 

コメント