では、今日も授業を始める。今日のテーマはスクリプトだ。
スクリプトって何?
スクリプトは、簡易的なプログラムのことだ。
簡易的なプログラムってどういうこと!?
プログラム言語には、いろいろな種類があって、プログラミングした後、そのプログラム(ソースコード)をコンパイルする必要のある言語があるが、
スクリプトは、コンパイルを実施せずに、すぐに実行できる。
コンパイルは、人が分かるプログラム言語からコンピューターが理解できる機械語(マシン語)に変換することでしょ。
スクリプトは、コンパイルしなくても実行できるから、簡易的なプログラムってことね。
コンパイルが必要な言語は、コンパイルのときに必要なライブラリなどを結合したりして実行可能なプログラムになる。
スクリプトという言葉は、台本や脚本、原稿という意味がある。
スクリプトを書けば、台本のように、その通りに実行されるってことね。
スクリプトを書ける言語って、どのような言語があるの?
有名なスクリプト言語には、Ruby(ルビー)、PHP(ピーエイチピー)、
Python(パイソン)、Javascript(ジャバスクリプト)、
Perl(パール)などがある。
これらの言語は、コンパイルしなくても、プログラミングで記述したら、すぐに実行できるのね。
うむ。逆に、Java(ジャバ)、C言語(シーゲンゴ)、C++(シープラスプラス)などの言語はコンパイルをしないと実行できない。
Java(ジャバ)とJavascript(ジャバスクリプト)は発音が似ているが、まったく別の言語だから、間違えないように。
JavaとJavascriptは関連性はまったくないってことね。
どの言語を使ったらいいの?
用途によって、どの言語を使ったらよいかが変わる。例えば、Ruby(ルビー)は、Ruby On Rails(ルビーオンレイルズ)というフレームワークの言語として利用されていて、
Webアプリケーションを作成するのに利用されることが多い、とても人気のある言語だ。
PHP(ピーエイチピー)もWebアプリケーションを作成するのに利用されていて、とても人気のある言語だ。
PHPは1995年にリリースされて、HTMLの中に、PHPのコードを埋め込めたり、Perlよりも習得しやすい言語だったので、Webサイトの作成で普及した言語だ。
例えば、CMS(Contents Management System:コンテンツマネジメントシステム)として有名なWordPress(ワードプレス)もPHPで作成されている。
CMS(シーエムエス)って何?
CMS(シーエムエス)というのは、Contents Management Systemの略で、
専門的なスキルがなくても、誰でも簡単にWebサイトを更新したり、管理したりできるツールだ。
例えば、LinuxサーバにWordPress(ワードプレス)をインストールして、ブログサイトを作成したりすることができる。
企業のホームページを、WordPressで作成しているところも多い。
WordPressは人気があるため、狙われることが多く、脆弱性が発見されることが多い。
だから、WordPressを使う場合は、脆弱性が出たら、新しいバージョンのWordPressに定期的にバージョンアップする必要がある。
そんなにバージョンアップしないといけないの!?バージョンアップするの大変だよ~。どのくらいの間隔でバージョンアップしないといけないの?
年に数回はバージョンアップするようにした方がよい。マイナーバージョンアップと、メジャーバージョンアップがあり、
マイナーバージョンアップは、設定で、自動バージョンアップするようにしておくこともできる。
WordPressはそんなに頻繁にバージョンアップしないといけないのか~。
Javascript(ジャバスクリプト)はWebサイトを作成するときに、動作をつけるときに利用される。
Python(パイソン)は、数値計算のライブラリが充実していて、最近では機械学習(Deep Learning)を目的として、利用されることが多い。
Perl(パール)は、昔よく利用された言語だ。昔はWebサイトもPerlで作成されることが多かったが、
今はPerlではなくて、Ruby On RailsやPHPで作成されることがほとんどだ。
昔に作成されたPerlのツールや、PerlのWebサイトはまだ存在するから、まだPerlは利用されると思うが、
新人がPerlをはじめに覚える必要はない。RubyやPython、PHPなど、人気のある言語を選択した方が絶対にいい。
Ruby、Python、PHPを覚える~
まずは、簡単なスクリプトが書けるようになるといい。
次に、シェルスクリプトというスクリプト言語もある。シェルスクリプトは、OS(オペレーティングシステム)を操作するためのシェルに対して、
実行できる簡易的なスクリプト言語だ。例えば、Linux系のサーバで、コマンドを1個ずつ
入力するのが手間なときに、1つのファイル(シェルスクリプト)に、それらのコマンドを記述すれば、一度にそのコマンドを実行することもできたりする。
もちろん、シェルスクリプトにはif文などのLinux系のコマンド以外も記述することも可能だ。
Linuxサーバにログインして、vi test.shと入力して、[Enter]を押す。
その後、以下のシェルスクリプトを記述して、:wqで保存すればシェルスクリプトが書ける。
シェルスクリプトは、拡張子として、.shをつけることが多い。
最初の#!/bin/bashは、bash(バッシュ)というシェルを使うという宣言だ。
#!/bin/bash
echo "Hello World"
シェルスクリプトのファイルを作成したら、以下コマンドで、
ユーザ(u)に実行権限(x)を与えて、./test.shで実行することができる。
$ chmod u+x test.sh
$ ./test.sh
以下のように実行することもできる。
$ bash test.sh
実行結果は、Hello Worldと表示される。echoは文字を表示するときに使う。
シェルには、bashやcsh、tcsh、zshなど、いろいろなものがある。
シェルはユーザーが入力したコマンドをOS(オペレーティングシステム)に伝えてくれる役割を持ったプログラムだ。
bash(バッシュ)の場合、以下のように-xをつけるとデバッグモードで実行することができ、
シェルスクリプトで変数などを利用したときには、変数に何を代入しているかなどが分かるので、
作成したばかりのシェルスクリプトは最初に確認してみるといい。
$ bash -x test.sh
あたしもLinux上でシェルスクリプトをいくつか作ってみる~。
では、今日はここまで。
は~い
1.スクリプトはコンパイルがいらない
2.スクリプトは、台本、脚本、原稿という意味
3.スクリプトにはRuby、PHP、Python、Javascript、シェルスクリプトがある
4.Java、C言語、C++はコンパイルが必要
5.WordPressはPHPで作成されている
6.WordPressは年に数回はバージョンアップが必要
7.CMSはContents Management Systemの略
8.Pythonは機械学習でも利用される
9.Perlは昔よく利用された言語
10.test.shというスクリプトを作成した後は以下で実行。
$ chmod u+x test.sh
$ ./test.sh
11.bashのデバッグモードは-x