PowerPoint プレゼンテーション

Similar documents
ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

プレポスト【解説】

シェルプログラミング コマンドをパイプでつなげるだけでは済まないような ある程度まとまった処理を複数のコマンドを制御構文を用いたりしてファイルとしたものを ( シェル ) スクリプトと呼ぶ シェルプログラム バッチなどともいう.bash_profile もシェルスクリプトなので このファイルを解読し

1 1 Gnuplot gnuplot Windows gnuplot gp443win32.zip gnuplot binary, contrib, demo, docs, license 5 BUGS, Chang

PowerPoint Presentation

Unix * 3 PC 2 Linux, Mac *4 Windows Cygwin Cygwin gnuplot Cygwin unix emulator online gnuplot *5 matplotlib *6 SuperMongo *7 gnuplot gnuplot OS *8 Uni

PowerPoint プレゼンテーション

unix15-script2_09.key

ポインタ変数

プログラミングA

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

Si 知識情報処理

slide5.pptx

プログラミングA

デュアルウェア講習会課題 5 会津大学講習会 簡単な IoT を作成 2018 The University of Aizu

gnuplot の使い方 gnuplot は汎用的で しかも手軽に使えるプロッティング プログラムです 計算結果をグラフにするとき に非常に便利なので ぜひ覚えてください 1 gnuplot の始め方 終わり方 gnuplot の始め方は ターミナル上のプロンプトの後ろで gnuplot と打つだけ

PowerPoint プレゼンテーション

Microsoft PowerPoint - CproNt02.ppt [互換モード]

実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する

ポインタ変数

syspro-0405.ppt

Taro-cshプログラミングの応用.jt

70 : 20 : A B (20 ) (30 ) 50 1

テキストファイルの入出力1

基礎プログラミング2015

Python の基本事項の学習 このラーニングラボでは Python のシンタックス ( 構文 ) スコープ ( 有効範囲 ) 変数 演算子 単純な条件分岐の基本事項を学習します 目標 所要時間 :45 分 Python の基本的なインデントとスコープを理解しよう 変数の割り当て方法と使用方法を学習

Taro-Basicの基礎・条件分岐(公

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

Microsoft Word - no11.docx

このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール "A" 数字 2 桁 0 を 2 桁 数字

ポインタ変数

演習1

Microsoft Word - VBA基礎(3).docx

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

PowerPoint プレゼンテーション

メソッドのまとめ

* ライブラリ関数 islower(),toupper() を使ったプログラム 1 /* 2 Program : trupper.c 3 Student-ID : K 4 Author : TOUME, Kouta 5 Comments : Used Library function i

C#の基本

02: 変数と標準入出力

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

Java講座

ex04_2012.ppt

ExcelVBA

Microsoft Word - VBA基礎(6).docx

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

Microsoft PowerPoint - ruby_instruction.ppt

Prog1_6th

情報処理演習 B8クラス

PowerPoint Presentation

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

-2 gnuplot( ) j ( ) gnuplot /shell/myscript 1

Microsoft PowerPoint - enshu4.ppt [äº™æ‘łã…¢ã…¼ã…›]

プログラミング基礎

※ ポイント ※

PowerPoint プレゼンテーション

Microsoft PowerPoint - Prog05.ppt

4-4 while 文 for 文と同様 ある処理を繰り返し実行するためのものだが for 文と違うのは while 文で指定するのは 継続条件のみであるということ for 文で書かれた左のプログラムを while 文で書き換えると右のようになる /* 読込んだ正の整数値までカウントアップ (for

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

PowerPoint プレゼンテーション

Microsoft Word - gnuplot

初心者用

PowerPoint プレゼンテーション

計算機プログラミング

PowerPoint プレゼンテーション - 物理学情報処理演習

Microsoft PowerPoint - C_Programming(3).pptx

Microsoft Word - DF-Salford解説09.doc

PowerPoint プレゼンテーション

演算増幅器

プログラミング入門1

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

グーグル検索マクロの使い方

デザイン戦略(コンピュータアニメーション) 2009年度春学期

kiso2-06.key

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

cpall.dvi

スライド 1

PowerPoint プレゼンテーション

JavaプログラミングⅠ

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

Scilab 勉強会 ( 第 3 回 ) 高橋一馬, 十文字俊裕, 柏倉守 平成 17 年 11 月 15 日 関数 ファイルはエディタを用いて作成する.Scilab にはエディタ SciPad が附属している.SciPad では なく他のエディタを利用してもよい. 作成した関数は Scilab に

Microsoft PowerPoint - kougi2.ppt

PowerPoint プレゼンテーション

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

JDL Webストレージサービス はじめにお読みください

OS

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

Microsoft Word - no103.docx

プログラミング実習I

PowerPoint プレゼンテーション

CASEC

Microsoft PowerPoint - C1(演算と変数).ppt

Microsoft PowerPoint - å®�æ−•è©¦é¨fi3ㆮ対ç�Œ.pptx

JavaScriptで プログラミング

memo

操作方法 XXXTOEMF は コマンドライン形式のアプリケーションです 通常のコマンドと同じように コマンドラインからの実行やバッチファイルに組み込むことが可能です インストールについては, 別紙の KDxxxx コンバートソフトの特記事項について を参照してください ここでは 直接コマンドライン

NetworkApplication-09

Microsoft PowerPoint - prog08.ppt

NSS利用者マニュアル

Transcription:

Shell Script & gnuplot の簡単な説明!! 日本大学文理学部情報システム解析学科谷聖一研究室田中勇歩 1

Shell Script 編 2

Shell とは? ユーザーがキーボードからコマンドラインに入力したコマンドを解釈してその実行を制御するプログラム コマンド インタプリタ Linux など UNIX 系 OS で使われるコマンド インタプリタ Shell( シェル ) 3

Shell の役割 Shell の役割ユーザーが入力したコマンドを解釈 正しいコマンド 実行 シェル自身が処理 コマンドを処理するプログラムを起動 正しくないコマンド エラーを通知 引用先 (http://itpro.nikkeibp.co.jp/article/keyword/20070907/281485/*) 4

Shell Script とは? Shell Script シェル プログラム上で実行できるスクリプト言語の 1 つ コンピュータに実行させたい処理を記述 その台本通りに動かすことが可能 スクリプト (script) は 台本 という意味 超便利! よって Shell Script を上手く使えば 複数のプログラムを起動することができる! 5

11から指定の数までの二乗を計算するプログラム複数のプログラムの起動例 ( ) 2ファイルを読み取り, 図に保存 (eps) するプログラム 1 実行権限をあげる 4 結果がテキストに保存 2 プログラム実行 3C++ のプログラムが実行 5gnuplot が実行 6 ファイルを読み込む 7eps で図に保存 6

Shell Script の書き方 & 実行 初めの行に #!/bin/bash などのインタプリタを宣言 このファイルは /bin/bash をインタープリタとするよ! という意味 実行は $ chmod 755 ファイル名 $./ ファイル名 コマンドライン引数を送りたい場合は $./ ファイル名引数 1 引数 2 7

chmod とは? chmod パーミッション ( 所有権 ) の変更する為のコマンド Windows ではファイルの拡張子 (.exe など ) によって そのファイルが実行可能か不可能かを判断 UNIX ではパーミッション ( あるいはファイルのモード ) と呼ばれる特別な属性によって実行可能 不可能を判断 パーミッション rwxr-xr-x などの 9 文字の文字列や 755 などの数値で表す パーミッションを数値で表す場合は r=4 w=2 x=1 を割り当て 3 文字ずつの合計を用いる例. rwxr-xr-x 4+2+1, 4+1, 4+1 で 755 r オーナーが読込可能なら r さもなくば - 9 文字の文字列は r(readable), w(writable), x(executable), ハイフン (-) からなり それぞれ意味をもつ w オーナーが書込可能なら w さもなくば - x オーナーが実行可能なら x さもなくば - r グループメンバが読込可能なら r さもなくば - w グループメンバが書込可能なら w さもなくば - x グループメンバが実行可能なら x さもなくば - r その他の人が読込可能なら r さもなくば - w その他の人が書込可能なら w さもなくば - x その他の人が実行可能なら x さもなくば - 8

実行例 実行権限を付与していない場合 r オーナーが読込 w オーナーが書込 x オーナーが実行 r グループメンバが読込 w グループメンバが書込 x グループメンバが実行 r その他の人が読込 w その他の人が書込 x その他の人が実行 実行権限を付与した場合 r オーナーが読込 w オーナーが書込 x オーナーが実行 r グループメンバが読込 w グループメンバが書込 x グループメンバが実行 r その他の人が読込 w その他の人が書込 x その他の人が実行 結果 : エラー結果 : 実行成功!! 9

Shell Script の実行例 test.sh #!/bin/bash PARA1="string" PARA2=string PARA3=3 PARA4=`date '+%Y-%m-%d'` echo "PARA1 = ${PARA1}" echo "PARA2 = ${PARA2}" echo "PARA3 = ${PARA3}" echo "PARA4 = ${PARA4}" echo "PARA5 = ${PARA5}" 実行結果 $ test.sh PARA1 = string PARA2 = string PARA3 = 3 PARA4 = 2013-01-21 PARA5 = 変数名に使える文字 : 英数字または _ ( アンダーバー ) 1 文字目に数字は使用不可 変数に値を代入 : 変数名 = 値 = の前後にはスペースやタブの代入不可 変数の参照 : 変数名の前に $ を付ける 10

Shell Script の実行例 2 - 特殊な変数 - arg_test.sh.sh #!/bin/bash echo $$ echo $! echo $? echo $- echo $* echo $@ echo $# echo $0 echo $1 echo $2 echo $3 実行結果 $./arg_test.sh a b c 7488 ( 毎回変化 ) 0 hb a b c a b c 3./arg_test.sh a b c これらの特殊な変数は 参照専用で値の代入不可 11

Shell Script の実行例 3 四則演算 - シェルスクリプトで数値の演算を行いたい場合は expr コマンドを使用 例. 変数に 5 と 3 を足した数値を格納したい場合 NG: 変数 =5+3 ( 変数に 5+3 という文字列が格納される ) OK: 変数 =`expr 5 + 3` expr_test.sh #!/bin/bash a=`expr 5 + 3` b=`expr 5-3` ab=`expr $a + $b` c=`expr 5 * 3` d=`expr 5 / 3` e=`expr 5 % 3` echo "a=$a" echo "b=$b" echo "ab=$ab" echo "c=$c" echo "d=$d" echo "e=$e" 実行結果 $./expr_test.sh a=8 b=2 ab=10 c=15 d=1 e=2 expr コマンドで使用できる算術演算子 12

Shell Script の実行例 4 - 演算子 - if 文や while 文では使える演算子 数値評価演算子の由来 eq : equal ne : not equal gt : greater than lt : less than ge : greater or equal le : less or equal 13

Shell Script の実行例 5 if 文 - if [ 条件 1 ] then 処理 1 elif [ 条件 2 ] then 処理 2 else 処理 3 fi test2.sh #!/bin/bash if [ $# -le 5 ] then echo $@ else echo "over" fi 補足 条件の前後にはスペースを入れないと エラー if [ 条件 ] は if test 条件 と書くこともできる 条件が偽の場合は! 条件 elif は c 言語で言うところの else if にあたる 実行結果 $./test2.sh 0 1 2 3 4 0 1 2 3 4 $./test2.sh 0 1 2 3 4 5 over 14

Shell Script の実行例 6 case 文 - case 変数 in パターン 1) 処理 ;; パターン 2) 処理 ;; パターン 3 パターン 4) 処理 ;; *) 処理 ;; esac case_wc.sh #!/bin/bash while : do read key case "$key" in "q" ) echo " 終了します " break ;; a* ) echo "a で始まる文字列 " ;;?b* ) echo "2 文字目が b の文字列 " ;; [A-Z]* ) echo " 大文字で始まる文字列 " ;; [!xyz]* ) echo " 先頭が x y z ではない文字列 " ;; * ) echo " 上記のいずれでもない文字列 " ;; esac done exit 0 補足 "read" は標準入力 "*" は任意の文字列 ( 空文字を含む ) を意味 "?" は任意の 1 文字を意味 "[]" は括弧の中の文字のいずれかを意味 "-" で範囲を指定することも可能 "!" が付くと括弧の中のいずれでもないという意味 " " は OR 実行結果 $./case_wc.sh abc a で始まる文字列 bbc 2 文字目が b の文字列 ABC 大文字で始まる文字列 www 先頭が x y z ではない文字列 xyz 上記のいずれでもない文字列 Abc 2 文字目が b の文字列 q 終了します 15

Shell Script の実行例 7 while 文 - while [ 条件 ] do 処理 done while_test.sh #!/bin/bash a=1 while [ $a -le 10 ] do echo "${a} 回目の処理 " a=`expr $a + 1` done 補足 処理を途中で中断してループを抜ける break ループの先頭に戻る continue 実行結果 $./while_test.sh 1 回目の処理 2 回目の処理 3 回目の処理 4 回目の処理 5 回目の処理 6 回目の処理 7 回目の処理 8 回目の処理 9 回目の処理 10 回目の処理 16

Shell Script の実行例 8 for 文 - for 変数 in 引数 1 引数 2 do 処理 done 補足 処理を途中で中断してループを抜ける break ループの先頭に戻る continue for_test.sh #!/bin/bash for arg in $@ do echo ${arg} done 実行結果 $./for_test.sh aa bb cc dd aa bb cc dd 17

Shell Script の実行例 9 関数 - 関数名 () { 処理 } for_test.sh #!/bin/bash arg_chk() { # 引数の数が 2 の場合 if test $# -eq 2 then return 0 # 引数の数が 2 以外の場合 else return 1 fi } arg_chk $@ ret=$? echo " 引数チェック結果 =${ret}" 補足 C 言語のように括弧の中に引数を記述する必要はない 関数に引数を渡す場合 シェルと同じくスペース区切りで渡す 関数に渡された引数を参照する場合 シェルと同じくに $1, $2,... と参照 呼び出し元に終了コードを返す場合 return コード と記述 実行結果 $./func.sh a 引数チェック結果 =1 $./func.sh a b 引数チェック結果 =0 $./func.sh a b c 引数チェック結果 =1 18

コマンドラインから Shell Script ちょっとしたものなら コマンドライン上から実行できる! 19

コマンドラインから Shell Script2 このようなこともできる $ for M in A B C;do for S in {1..5};do echo ${M}_${S};done;done A_1 A_2 A_3 A_4 A_5 B_1 B_2 B_3 B_4 B_5 C_1 C_2 C_3 C_4 C_5 同じ #!/bin/bash for M in A B C do for S in {1..5} do echo ${M}_${s} done done 20

gnuplot 編 21

gnuplot とは gnuplot 2 次元および 3 次元のグラフを描画するためのフリーウェア ユーザインターフェース CUI( 利用者がコマンドを打ち込んでゆく形態 ) 最低限のコマンドをいくつか覚えておくことが必要 コマンド help で閲覧することができるオンラインマニュアルが充実 コマンドさえ覚えてしまえば, 高級な使い方をするときに困らない 特徴 2 次元グラフ描画機能が極めて強力 ( 各種の関数やデータのグラフが自由自在に作成可能 ) 多様な画像の形式をサポート (PostScript,EPS,tgif,PNG,PBM など ) 3 次元グラフ描画機能は 2 次元ほど強力ではない 22

gnuplot の基本的な使い方 gnuplot を起動し 下記のコマンドを入力 $gnuplot G N U P L O T Version 4.6 patchlevel 0 last modified 2012-03-04 Build System: CYGWIN_NT-6.1-WOW64 i686 Copyright (C) 1986-1993, 1998, 2004, 2007-2012 Thomas Williams, Colin Kelley and many others gnuplot home: faq, bugs, etc: immediate help: http://www.gnuplot.info type "help FAQ" type "help" (plot window: hit 'h') Terminal type set to 'x11' gnuplot> plot sin(x) gnuplot> replot cos(x) gnuplot> replot 終了コマンド gnuplot> exit x11 で表示される ( 入ってない場合はエラー ) 23

gnuplot の基本的な使い方 $./cloer.sh 5 5 image.eps $1:sin x の線の太さ $2:cos x の線の太さ $3: 保存するファイル名 24

gnuplot の基本的な使い方 2 画像の保存 - gnuplot を起動し 描写ソフトを指定 ( このほかにも色々ある ) gnuplot> set terminal eps gnuplot> set terminal png 初期設定は x11(x11 に戻したい場合 ) gnuplot> set terminal x11 gnuplot> set out 名前. 拡張子 gnuplot> replot 25

gnuplot の基本的な使い方 3 中でもおすすめはこれ! gnuplot> set terminal dumb Gnuplot を起動して gnuplot> plot sin(x) と是非やってみよう! 26

Shell Script & gnuplot 編 27

Shell Script と gnuplot gnuplot はとても便利なソフトだが 毎回毎回コマンドを打ち込んでグラフを作るのは苦痛!! 超便利! そこで役立つのが Shell Script!! 28

Shell Script と gnuplot 例えば sin x, cos x, tan x を作りたい場合 あらかじめ Shell Script を使い 作成しておく 超便利! これなら毎回コマンド打ち込まずに済み かつ エラーを起こした個所もすぐ修正できる また コマンドを保存しておける 29

Shell Script と gnuplot を使ったループ処理 Shell Script と gnuplot を使えばループ処理も可能 だが このように書くとエラーを起こすので注意! 30

11から指定の数までの二乗を計算するプログラム複数のプログラムの起動例 ( ) 2ファイルを読み取り, 図に保存 (eps) するプログラム Step1 1 実行権限をあげる 2 プログラム実行 31

11から指定の数までの二乗を計算するプログラム複数のプログラムの起動例 ( ) 2ファイルを読み取り, 図に保存 (eps) するプログラム Step2 3C++ のプログラムが実行 32

11から指定の数までの二乗を計算するプログラム複数のプログラムの起動例 ( ) 2ファイルを読み取り, 図に保存 (eps) するプログラム Step3 4 結果がテキストに保存 33

11から指定の数までの二乗を計算するプログラム複数のプログラムの起動例 ( 2ファイルを読み取り, 図に保存 (eps) するプログラム ) Step4 6 ファイルを読み込む 5gnuplot が実行 34

11から指定の数までの二乗を計算するプログラム複数のプログラムの起動例 ( 2ファイルを読み取り, 図に保存 (eps) するプログラム ) Step5 7eps で図に保存 35

ご清聴ありがとうございました! 参考にした WEB サイト (2013.2/10 UTC 9:02) http://www.k4.dion.ne.jp/~mms/unix/shellscript/index.html 36