シェルスクリプトの基本のおさらい

  • Pocket
  • このエントリーをはてなブックマークに追加
  • 163 follow us in feedly

 

まえがき

ちょっと作りたいシェルスクリプトがあったのですが、スクリプトの書き方を綺麗に忘れてしまいました。
今回は、基礎中の基礎になりますが、
ちょっとしたスクリプトを組みにはこの程度の理解で作れちゃうんですよね。
てなわけで次、忘れた時用にぽいっとブログでのこしておきます。
 
 

コード

 

詳細

# Shellスクリプトのメモ

お世話になったサイト

http://www.k4.dion.ne.jp/~mms/unix/shellscript/

 

 

 

1.おまじないを1行目に書く

// おまじない
#!/bin/sh

2.実行権限を与える

// シェルを実行するユーザーに注意しておく
chmod u+x test.sh

3.簡単なシェルを書いてみる
# test.txtを表示するだけ

#!/bin/sh
cat test.txt

4.シェルの実行

test.sh

5.変数の使い方

// 変数名と値の間にスペースはNG!!
file="test.txt"
number=100

// 変数を展開する際には${}をつける
// {}はなくても動くが、変数が多くなってきてどこまでが変数名かで困ることがある。
echo ${file}
echo ${number}

// こんな漢字で使える
cat ${file}

6.特殊な変数

echo "PID" $$
echo "最 後 に 実 行 し た バ ッ ク グ ラ ウ ン ド プ ロ セ ス の PID" $!
echo "最 後 に 実 行 し た コ マ ン ド の 戻 り 値 " $?
echo "全 引 数 リ ス ト " $*
echo "与 え ら れ た 引 数 の 数 " $#
echo "全 引 数 の リ ス ト " $@
echo "シ ェ ル 自 身 の フ ァ イ ル 名 " $0
echo "1 つ め の 引 数 の 値 " $1
echo "2 つ め の 引 数 の 値 " $2

// こんな感じで実行
test.sh param1 param2

7.if文
・スペースがシビアなので忘れないこと
・比較演算子が馴染まないのでその都度ググるw
・if 文の最後は fi

# 文 字 列 
if [ $1 = "hoge" ]
then
    echo "this is hoge"
else
    echo "not hogeeeee"
fi
# 数 値 
if [ $2 -ge 20 ]
then
    echo "osaka nomerune"
else
    echo "osake nomenaiyo!!"
fi

if [ $2 -eq 20 ]
then
    echo "seijinshiki"
fi

8.case文
・;; は break文みたいなの
・*) は どのパターンにも当てはまらないときに実行される

case $3 in
    1) echo "one";;
    2) echo "two";;
    3) echo "three";;
    *) echo "not support";;
esac

9.while文
・ 基本は while do done
・ インクリメントは count=`expr ${count} + 1`
・ インクリメント時にスペース入れていなくてエラーで詰まっていたw

count=0
while [ ${count} -ne 10 ]
do
    count=`expr ${count} + 1`
    echo "${count}回 目 "
done

10.for文
・ 基本は for do done

# 与えられた引数リストを1つずつ表示する
for arg in $@
do
    echo ${arg}
done

関連記事

no image

wgetコマンドでファイル名指定したり、ファイルを保存しないようにしたりする

まえがき wgetコマンド。便利ですよねー。 オプションも結構あって覚...

記事を読む

ttyrec-gif-test.gifttyrec-gif-test.gif

Macでttyrec・ttygifを使ってターミナルのgif画像を作成する

まえがき ここ最近?になってからよく、ターミナルでの操作をGif画像と...

記事を読む

mysql_tab.png

MYSQLでタブ補完できるってばよ!

まえがき LinuxのCUIやらCiscoルーターのCUIやらはタブの...

記事を読む

keitarou_keitarou__Users_keitarou_Dropbox_memo_—_vim_—_178×70-8

Vimの検索・置換コマンドに関するメモ

まえがき 前回の移動系のコマンドのメモに引き続き、今回は検索・置換の...

記事を読む

imgres-9

Macでwgetコマンドを使えるようにするの書

まえがき お題の通り、wgetコマンドをインストールして使えるように...

記事を読む

新着記事

no image

PHPでRubyのirbっぽいインタラクティブなスクリプトが実行できる「boris」

まえがき PHPでもRubyのirbみたいなことがしたくて探してみたと...

記事を読む

2015年の抱負と去年の振り返り〜よちよちWEB業界1年経験して〜

まえがき あけましておめでとうございます。今年もどうぞよろしくお願いし...

記事を読む

Java SE 7 Bronze試験(1Z0-802)を受けてきました

まえがき 以前から少し受けてみたかった試験『Java SE 7 Bro...

記事を読む

HubotでJenkinsのジョブを実行する

まえがき HubotをつかってJenkinsのジョブをじっこうしてみた...

記事を読む

no image

Hubotをforeverでデーモン化する

まえがき 今回はHubotをforeverを使ってデーモン化してみた時...

記事を読む

スポンサーリンク

  • Sorry. No data so far.

PAGE TOP ↑