mery's Notes

めりーがプログラミングしたりします。

MENU

Linuxのシェルスクリプトで遊ぼう!

前回の記事

mery-kirokudayo.hateblo.jp

こんばんわ。メリーです。

5月病の方も大勢いらっしゃるんじゃないでしょうか。
やらなくてはいけないことはやりたくなくなるのに、ゲームのモチベは上がる日々ですね・・・。

今日は、仕事でLinuxを触る機会があったので、簡単なシェルスクリプトを組んで遊んでみました
シェルスクリプトについて全然知らなかったので、構文とか全部調べる羽目に・・・。
エラーも出まくったので作成に2時間30分くらい掛かりました・・・・。

目次

シェルスクリプトってなぁに?????

シェルスクリプトって何でしょう。

シェルスクリプトとは、OS(オペレーティングシステム)を操作するためのシェル上で実行できる簡易なプログラミング言語スクリプト言語)。また、そのような言語によって書かれた、複数のOSコマンドや制御文などを組み合わせた簡易なプログラム。一般的にはLinuxなどUNIX系OSのシェルで実行できるものを指す。
引用元:シェルスクリプト(shell script)とは - IT用語辞典 e-Words

とのことです。

Linuxの場合だと、端末(ターミナル)から操作するコマンド(cdとか)を組み合わせて作成するプログラムのことです。
なので、うまく使えば作業の効率化に繋がりますね。やったね。

というわけで今回の目標は、シェルスクリプトを作成して実行できるようにしましょう。

シェルスクリプト作るよ!!!

というわけで実際に作っていきましょう!
Linuxで端末を開き、vi ファイル名.shスクリプトを作成しましょう。

実際に作ったのがこちらです。

#!/bin/bash

#時間計測
s_time=`date +%s.%N`

echo "Input Number !"

#乱数生成
ans=`echo $RANDOM`
ans=`expr $ans \* 25145575121255489562384512`
echo "$ans"


#入力受付部
read num

#時間判定
f_time=`date +%s.%N`
time=$(echo "$f_time - $s_time" | bc)

#nullの処理
: ${num:=-500} 


#正誤判定
if [ $num = $ans ]
 then 
  echo "That's right !"
  echo "Your time is $time seconds !"
  echo "Congratulations !"
 
 else
  echo "Noooooooooooooooooo!  You're NOOOOOOOOOOOOOOOOOOOOOOOOOOB!!!!"
fi

実行したら、数字が表示されます。
その数字を入力して、タイムを競うゲームです。

Input Number !
670079285831216285858422475776

間違えると、

Noooooooooooooooooo!  You're NOOOOOOOOOOOOOOOOOOOOOOOOOOB!!!!

と、バチバチに煽られます。

では、実行してみましょう。
実行方法は、./ファイル名.shと、打ち込むだけです。
実行権限がないと言われたら、chmod u+x ファイル名.shと打ち込みましょう。

まとめだよ!

これで、仕事を効率化して大量の休み時間をゲットしよう!!!

それでは!!