「シェルスクリプト1」の編集履歴(バックアップ)一覧はこちら
「シェルスクリプト1」(2009/02/10 (火) 08:45:47) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<h3>シェルスクリプトを使って作業を簡単に!</h3>
<p>シェルスクリプトというのは、<br />
複数のコマンドを書いて一括で処理させるプログラムのようなものです。<br />
インストールの際、<a href="http://www19.atwiki.jp/suisan/pages/18.html">Cygwinをインストール</a>したのはこのシェルスクリプトを使うためです。<br />
プログラムと聞くと難しく感じてしまうかもしれませんが、<br /><a href="../../suisan/pages/30.html" title="調査地点をプロット (15h)">調査地点をプロット</a>や<a href="../../suisan/pages/32.html" title="航跡を表示 (28s)">航跡を表示</a>で書いたGMTコマンドを、<br />
1つのファイルにまとめただけのものです。<br /><a href="../../suisan/pages/32.html" title="航跡を表示 (28s)"><br />
航跡を表示</a>で使用したコマンドを見てみます。<br /><span style="background-color:rgb(255,255,153);">pscoast -R140/148/41/46
-Jm0.5 -B2 -P -W -Dh -K > track_hokkaido01.ps</span><br style="background-color:rgb(255,255,153);" /><span style="background-color:rgb(255,255,153);">psxy track.txt -Jm
-W2/255/0/0ta -R -O -K >> track_hokkaido01.ps</span><br style="background-color:rgb(255,255,153);" /><span style="background-color:rgb(255,255,153);">psxy track.txt -Jm -Sc0.05
-G100 -W0.2 -R -O >> track_hokkaido01.ps</span><br /><br />
これをメモ帳などのテキストエディタにコピーし、<br />
GMT_track.txtというファイル名でGMT作業用フォルダに保存します。<br /><a href="http://www19.atwiki.jp/suisan?cmd=upload&act=open&pageid=33&file=GMT_track.txt">
ダウンロードする場合はこちら</a>。<br />
そして、<br />
GMT作業用フォルダのコマンドプロンプト(GMTstart.bat)に<br /><span style="background-color:rgb(255,255,153);">bash GMT_track.txt</span><br />
と入力してください(下図)。<br /><a href="http://www19.atwiki.jp/suisan?cmd=upload&act=open&pageid=33&file=sh1.jpg">
<img width="400" src="http://www19.atwiki.jp/suisan?cmd=upload&act=open&pageid=33&file=sh1.jpg" alt="" /></a><br /><br />
これで上に書いたコマンドをコピペしたのと同様の働きをします。<br /><font size="1"><br />
余談ですが、コマンドプロンプトでは<br />
キーボードの上(↑)ボタンを押すと入力履歴が表示されます。<br />
前に入力したものを使いたいときは便利です。</font><br /><br /><br />
さらにシェルスクリプトでは<strong>変数</strong>が使えます!<br />
この変数を使って上のコマンドを書き換えると以下のようになります。<br /><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,255);"><a href="http://www19.atwiki.jp/suisan/?cmd=upload&act=open&page=%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%881&file=GMT_track01.txt">
ダウンロードはこちらから</a>。</span></span></span><br /><strong>なお、</strong><strong>cygwin</strong><strong>(</strong><strong>bash</strong><strong>)では「#~改行」までは<br />
コメント(注釈)として認識されます。以下のままコピーしてもちゃんと動きます。</strong><br />
--------------------------------------<br /><span style="background-color:rgb(255,255,153);">#!/bin/bash</span> #これは使用するシェルの指定。Windowsではなくても大丈夫です。<br />
#ここで変数を指定<br style="background-color:rgb(255,255,153);" /><span style="background-color:rgb(255,255,153);">region=<span style="background-color:rgb(255,255,153);">140/148/41/46</span><span style="background-color:rgb(255,255,255);"> #緯度経度の値</span><br style="background-color:rgb(255,255,153);" /><span style="background-color:rgb(255,255,153);">data=track.txt<span style="background-color:rgb(255,255,255);"> #使用するデータファイル名</span></span><br style="background-color:rgb(255,255,153);" /><span style="background-color:rgb(255,255,153);">output=track_hokkaido01.ps<span style="background-color:rgb(255,255,255);"> #作成する画像ファイル名</span><br /><span style="background-color:rgb(255,255,255);">#ここからGMTのコマンド</span><br />
pscoast -R$</span></span><span style="background-color:rgb(255,255,153);">region</span> <span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">-Jm0.5 -B2 -P -W -Dh -K >
$</span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">output</span></span><br /><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">psxy</span></span> <span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">$data</span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">-Jm -W2/255/0/0ta -R -O -K
>></span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">$</span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">output</span></span><br /><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">psxy</span></span> <span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">$data</span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">-Jm -Sc0.05 -G100 -W0.2 -R -O
>></span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">$</span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">output</span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);"><br /><span style="background-color:rgb(255,255,255);">---------------------------------------</span><br /></span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,255);">指定した変数は「 $変数名 」としてコマンドの方で使用します。</span></span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);"><br /><span style="background-color:rgb(255,255,255);">何度も出てくる数字や文字をあらかじめ変数で指定してあげると、<br />
入力の手間が省けます。<br />
また、変数の値を変えことで、いろいろと図が書けるので<br /><strong>1度シェルスクリプトを書いてしまえば、あとで使い回せます!</strong></span></span></span></p>
<h3>シェルスクリプトを使って作業を簡単に!</h3>
<p>シェルスクリプトというのは、<br />
複数のコマンドを書いて一括で処理させるプログラムのようなものです。<br />
インストールの際、<a href="http://www19.atwiki.jp/suisan/pages/18.html">Cygwinをインストール</a>したのはこのシェルスクリプトを使うためです。<br />
プログラムと聞くと難しく感じてしまうかもしれませんが、<br /><a title="調査地点をプロット (15h)" href="../../suisan/pages/30.html">調査地点をプロット</a>や<a title="航跡を表示 (28s)" href="../../suisan/pages/32.html">航跡を表示</a>で書いたGMTコマンドを、<br />
1つのファイルにまとめただけのものです。<br /><a title="航跡を表示 (28s)" href="../../suisan/pages/32.html"><br />
航跡を表示</a>で使用したコマンドを見てみます。<br /><span style="background-color:rgb(255,255,153);">pscoast -R140/148/41/46
-Jm0.5 -B2 -P -W -Dh -K > track_hokkaido01.ps</span><br style="background-color:rgb(255,255,153);" /><span style="background-color:rgb(255,255,153);">psxy track.txt -Jm
-W2/255/0/0ta -R -O -K >> track_hokkaido01.ps</span><br style="background-color:rgb(255,255,153);" /><span style="background-color:rgb(255,255,153);">psxy track.txt -Jm -Sc0.05
-G100 -W0.2 -R -O >> track_hokkaido01.ps</span><br /><br />
これをメモ帳などのテキストエディタにコピーし、<br />
GMT_track.txtというファイル名でGMT作業用フォルダに保存します。<br /><a href="http://www19.atwiki.jp/suisan?cmd=upload&act=open&pageid=33&file=GMT_track.txt">
ダウンロードする場合はこちら</a>。<br />
そして、<br />
GMT作業用フォルダのコマンドプロンプト(GMTstart.bat)に<br /><span style="background-color:rgb(255,255,153);">bash GMT_track.txt</span><br />
と入力してください(下図)。<br /><a href="http://www19.atwiki.jp/suisan?cmd=upload&act=open&pageid=33&file=sh1.jpg">
<img width="400" alt="" src="http://www19.atwiki.jp/suisan?cmd=upload&act=open&pageid=33&file=sh1.jpg" /></a><br /><br />
これで上に書いたコマンドをコピペしたのと同様の働きをします。<br /><font size="1"><br />
余談ですが、コマンドプロンプトでは<br />
キーボードの上(↑)ボタンを押すと入力履歴が表示されます。<br />
前に入力したものを使いたいときは便利です。</font><br /><br /><br />
さらにシェルスクリプトでは<strong>変数</strong>が使えます!<br />
この変数を使って上のコマンドを書き換えると以下のようになります。<br /><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,255);"><a href="http://www19.atwiki.jp/suisan/?cmd=upload&act=open&page=%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%881&file=GMT_track01.txt">
ダウンロードはこちらから</a>。</span></span></span><br /><strong>なお、</strong><strong>cygwin</strong><strong>(</strong><strong>bash</strong><strong>)では「#~改行」までは<br />
コメント(注釈)として認識されます。以下のままコピーしてもちゃんと動きます。</strong><br />
--------------------------------------<br /><span style="background-color:rgb(255,255,153);">#!/bin/bash</span> #これは使用するシェルの指定。Windowsではなくても大丈夫です。<br />
#ここで変数を指定<br style="background-color:rgb(255,255,153);" /><span style="background-color:rgb(255,255,153);">region=140/148/41/46 #緯度経度の値<br />
data=track.txt #使用するデータファイル名<br />
output=track_hokkaido01.ps #作成する画像ファイル名<br />
#ここからGMTのコマンド<br />
pscoast -R$region-Jm0.5 -B2 -P -W -Dh -K > $output</span><br style="background-color:rgb(255,255,153);" /><span style="background-color:rgb(255,255,153);">psxy$data-Jm
-W2/255/0/0ta -R -O -K >>$output</span><br style="background-color:rgb(255,255,153);" /><span style="background-color:rgb(255,255,153);">psxy$data<span style="background-color:rgb(255,255,153);">-Jm -Sc0.05 -G100 -W0.2 -R -O
>></span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">$</span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);">output</span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);"><br /><span style="background-color:rgb(255,255,255);">---------------------------------------</span><br /></span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,255);">指定した変数は「 $変数名 」としてコマンドの方で使用します。</span></span></span><span style="background-color:rgb(255,255,153);"><span style="background-color:rgb(255,255,153);"><br /><span style="background-color:rgb(255,255,255);">何度も出てくる数字や文字をあらかじめ変数で指定してあげると、<br />
入力の手間が省けます。<br />
また、変数の値を変えことで、いろいろと図が書けるので<br /><strong>1度シェルスクリプトを書いてしまえば、あとで使い回せます!</strong></span></span></span></p>