【ハウツー】
ではとても簡単なシェルスクリプトを作ってみます。プログラミング言語の解説書では、画面に「Hello World」を表示する、という例が数多く見られます。これにならって同じ事をシェルスクリプトでもやってみましょう。
#!/bin/sh
echo Hello World
エディタでこのような内容を記述し、step1.shとして保存します。パーミッションを変更してプロンプトから実行してみましょう。「Hello World」という文字が画面に表示され、コマンドプロンプト(~$)に戻ります(*2)。
*2エディタは、[アプリケーション] - [アクセサリ] - [テキスト・エディタ]で起動します。上記スクリプトを入力したら適当な場所にstep1.shで保存します。保存したファイルを右クリックし、[プロパティ]をクリックするとstep1.shのプロパティが表示されます。[アクセス権]のタブにある[プログラムとして実行できる]にチェックを入れると実行可能になります。 デスクトップに保存した場合は、端末で「cd /home/ユーザー名/デスクトップ」と入力し、ファイルのある階層に移動し、「./step1.sh」でスクリプトを実行させます。
user@ubuntu-vm:~$ ./step1.sh
Hello World
user@ubuntu-vm:~$
たった2行のスクリプトですが、立派なシェルスクリプトです。とはいえ、実際はプロンプトから1つのコマンド、「echo Hello World」と入力、実行しているのと変わりません(echoコマンドは続く文字列を出力するコマンドです)。
user@ubuntu-vm:~$ echo Hello World
Hello World
user@ubuntu-vm:~$
シェルスクリプトとは、このようにプロンプトから入力するコマンドの集合体です。プロンプトからの入力は1度に1回しか行えませんが、シェルスクリプトとして扱うと連続して処理する作業も可能になります。ですが、シェルはプログラミング言語ほど複雑な関数やライブラリを持っていません。そこでシェルだけで手に負えない処理は外部のコマンドやperlスクリプトなどに引き渡すことで作業を分担させたり、複数のコマンドの結果を統括することで、より複雑な作業を可能にしてい
「echo Hello World」はお世辞にも「シェルスクリプト」とは呼べません。ですが、単純なスクリプトでも役に立つことはあります。よく知られているbashの機能にヒストリがあります。一度入力したコマンドを記憶しておき、再度同じコマンドを入力したいときには矢印キーの上下を押すと直近に使用したコマンドを表示するものです。直接「history」と入力すると、過去実行したコマンドの履歴が番号付きで表示されます。ここで「!」に続けて履歴の数字をタイプすると、直接そのコマンドを表示させることができます。Linuxで用いるコマンドは非常に多くのオプションがあり、時には数行に渡る長いコマンドを入力することもあります。1文字ミスタイプしたために、長いコマンドをまた入力するのは面倒です。このようなとき、複雑なオプションのついたコマンド入力をシェルスクリプトにしておきます。スクリプトとして記述されていますからミスタイプの心配はありませんし、ファイルを短くしておけばわずかなキータイプで実行できます。
| 【レポート】マカフィーの世界の専門家の意識調査「サイバー防衛報告書」とセキュリティソリューション [21:15 5/25] |
| アップル、Aperture 3.2.4を公開 - バグ修正、安定性向上など [20:51 5/25] |
| 【レポート】GTC 2012 - VGXでエンタープライズ環境でのGPU需要開拓を狙うNVIDIA [20:07 5/25] |
| デル、期間限定キャンペーンに特価アイテム追加、アップグレード無料も継続 [19:41 5/25] |
| 上海問屋、iPhoneとほぼ同じ薄さのバッテリ内蔵ヘッドホンアンプ [19:05 5/25] |
|
エヴァンゲリオンレーシング、今年も鈴鹿8耐出場! 1,000人分の応援席も [00:30 5/27] ライフ |
|
「ガンスリ」10周年で大王付録にヘンリエッタフィギュア [22:22 5/26] ホビー |
|
【特集】クライマックス突入記念! 『Fate/Zero』の舞台裏に迫る!! [22:00 5/26] ホビー |
|
竹宮ゆゆこ×カスカベアキラ「エバーグリーン」1巻刊行 [21:59 5/26] ホビー |
|
最もセクシーな男性「メン・オン・ファイア」21人をAARP誌が発表 [21:30 5/26] エンタメ |