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

  • Pocket
  • このエントリーをはてなブックマークに追加
  • 172 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

PostgreSQLをインストールしたときのメモ

まえがき ちょっとPostgressを触りたくなったのでインストールし...

記事を読む

Screeny Shot 2013-06-26 3.41.48.png

OSのバージョンやらミドルウェアやらのバージョンを調べるスクリプト

  まえがき どうしても最近寝付きが悪いです。 えっと今回のタイ...

記事を読む

LinuxのiptablesとSELinuxを停止・無効化する

まえがき LinuxでVMなり、新しいホスト立てた時、自分はまずipt...

記事を読む

no image

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を使ってデーモン化してみた時...

記事を読む

スポンサーリンク

PAGE TOP ↑