PowerPoint Presentation

Similar documents
PowerPoint Presentation

プレポスト【解説】

<4D F736F F F696E74202D E3F FC96E55F F554E CC8AEE D8EAF2E B8CDD8AB B83685D>

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

PowerPoint Presentation

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

160420c_unix.pptx

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

170420_unix.pptx

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

PowerPoint プレゼンテーション

k_seminar_hands_on_for_linux_beginner.pptx

Microsoft PowerPoint - スハ?コン利用入門_ _UNIX利用の基礎知識.pptx

Microsoft PowerPoint - InfPro_I6.pptx

練習 4 ディレクトリにあるファイルを直接指定する (cat) cat コマンドを使う (% cat ファイル名 ) と ファイルの内容を表示できた ファイル名のところにパス名を使い ディレクトリ名 / ファイル名 のように指定すると ディレクトリ内にあるファイルを直接指定できる 1 % cat _

PowerPoint プレゼンテーション

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

OS

_unix_text_command.pptx

情報処理概論(第二日目)

How_to_use_integritycheck

スライド 1

PowerPoint プレゼンテーション

初心者用

ポインタ変数

第 3 回情報基礎演習 UNIX / Linux: ファイルシステム シェルを理解しよう! 谷口貴志 Panda に login し 情報基礎演習クラスの VDI から Ubuntu に接続し Linux に login した後, 左 上の Activity 端末のアイオン をクリック 端末 を立ち

PowerPoint Presentation

情報処理概論(第二日目)

VPN 接続の設定

Microsoft PowerPoint - 16comp-int7-tool-sh-v2.pptx

(Microsoft Word - 01PowerPoint\217\343\213\211C\203p\203^\201[\203\223\222m\216\257\225\\\216\206.doc)

syspro-0405.ppt

目次 LS-DYNA 利用の手引き 1 1. はじめに 利用できるバージョン 概要 1 2. TSUBAME での利用方法 使用可能な LS-DYNA の実行 4 (1) TSUBAMEにログイン 4 (2) バージョンの切り替え 4 (3) インタラ

情報処理概論(第二日目)

フィルタとは

ポインタ変数

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

Si 知識情報処理

fs.ppt

1. ユーザー管理 サーバーや特定のサービスにアクセスするためには サーバー上にユーザーアカウントが設定されている必要があります また ユーザーごとに利用環境などを個別に設定することができます また ユーザーの管理の簡便化を図るためにグループが設定できます グループを設定することで ユーザーごとの設

スライド 1

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

unix15-script2_09.key

GSSBCマニュアル

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

問題 1 次の文章は 作業環境について述べたものである を解答群 { } より選び その記号で答えよ にあてはまる適切なもの 設問 1. < 図 1>はルーラーの一部である 1に示されるインデントマーカーを移動することにより を設定することができる < 図 1> { ア. 1 行目のインデントイ.

JavaプログラミングⅠ

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

基礎プログラミング2015

Microsoft Word - no103.docx

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

PowerPoint Presentation

これを調べるには pwd というコマンドを使います pwd とは print working directory の頭文 字をとったもので これから意味は明らかですよね 演習 1 (a) pwd を実行した結果を書け なお 立ち上げた直後の作業用ディレクトリのことをホー ムディレクトリ もしくは単に

OS

Total View Debugger 利用の手引 東京工業大学学術国際情報センター version 1.0

ポインタ変数

初心者用

1 ログインとログアウト 1.1 ログイン ログイン画面で [ password ] 欄にパスワードを入力します (図 1) 図 1 ログイン画面 正しくログインができると Ubuntu のデスクトップ画面 図2 が表示されます 図2 Ubuntu デスクトップ画面 2

3.Cygwin で日本語を使いたい Cygwin で以下のコマンドを実行すると それ以降 メッセージが日本語になります export LANG=ja_JP.UTF-8 これは 文字コードを日本語の UTF-8 に設定することを意味しています UTF-8 は Cygwin で標準の文字コードで, 多

Taro-Basicの基礎・はじめに(公

ポインタ変数

<48554C46545F F A5490E08E9197BF2E786C73>

Q-Chem 5.2 Linux OS へのオンラインインストール 2019 年 6 月 24 日 Q-Chem 5.2 のインストール Linux OS へのオンラインインストール ( 推奨 ) ( 株 ) アフィニティサイエンス 概要 :Linux OS へのインストールには, オンラインインス

Troubleshooting SSH connections with Reflection X

01: 講義概要

Linux サーバー構築 LINUX サーバー構築目次... 1 第 1 章 LINUX のインストール... 6 第 1 節 CentOS とは... 6 第 1 項 CentOS とは... 6 第 2 節 CentOS インストールの準備... 6 第 1 項 iso ファイルの入手... 6

Chromeleon 6 for Chromeleon 6.8 SR15 Build: --- 新しいシーケンスの作成に使用できるワークリストファイル (.wle) Doc. Nr: CM6_68150_0020 Doc. Ver.: Doc. Type: Guide

情報処理Ⅰ

ユーティリティ 管理番号 内容 対象バージョン 157 管理情報バッチ登録コマンド (utliupdt) のメッセージ出力に対し リダイレクトまたはパイプを使用すると メッセージが途中までしか出 力されないことがある 267 転送集計コマンド (utllogcnt) でファイル ID とホスト名の組

OS

8. Windows の補足情報 コマンドの使用についての説明です Windows からのファイル直接印刷 Windows でコマンドを使用したファイル直接印刷の方法についての説明です この機能はネットワーク接続をしているときに使用できます この方法で印刷できるファイルは 本機が搭載しているエミュレ

ClearCase - SD4_JP

gengo1-6

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

インストーラー 管理番号 内容 対象バージョン 230 HULFT がすでにインストールされているパスに対してサイレントインストールを実行すると インストールされていた HULFT の動作環境が不正な状態になる 7.3.0~7.3.1 ユーティリティ 管理番号 内容 対象バージョン 231 管理情報

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

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

Microsoft PowerPoint - ruby_instruction.ppt

Red Hat Enterprise Linuxのcron(8)デーモンにデフォルト定義されたtmpwatch命令の動作による、WebOTXのトラブル対処方法

_Vol17No4.indd

本チュートリアルについて 14 部構成 比較的簡単なトピックから 各回 プログラミング言語 任意 チュートリアルで 新しい内容 宿題 プログラミング演習 次の週 結果について発表 もしくは話し合いをする スライドは Python で Python, C++, Java, Perl についての質問い答

2006年10月5日(木)実施

Prog1_12th

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

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

PowerPoint プレゼンテーション

USP MAGAZINE 2014 August

PowerPoint プレゼンテーション

シェルスクリプトマガジン vol.30

Microsoft Word - 電源制御コマンドの設定について_UNIX_.doc

<4D F736F F D20837D836A B5F93C192E88C AC888D593FC97CD5F2E646F63>

JavaScriptで プログラミング

HDC-EDI Manager Ver レベルアップ詳細情報 < 製品一覧 > 製品名バージョン HDC-EDI Manager < 対応 JavaVM> Java 2 Software Development Kit, Standard Edition 1.4 Java 2

Microsoft PowerPoint - 第3回目.ppt [互換モード]

Microsoft PowerPoint - 5Chap15.ppt

クエリの作成が楽になるUDF

リスト 1 1 <HTML> <HEAD> 3 <META http-equiv="content-type" content="text/html; charset=euc-jp"> 4 <TITLE> 住所の検索 </TITLE> 5 </HEAD> 6 <BODY> <FORM method=

2 / 16 ページ 第 7 講データ処理 ブック ( ファイル ) を開く第 6 講で保存したブック internet.xlsx を開きましょう 1. [Office ボタン ] から [ 開く ] をクリックします 2. [ ファイルの場所 ] がデータを保存している場所になっている

Prog1_10th

Transcription:

平成 25 年度 情報リテラシー 担当 : 一色正晴 (4 号館 405) isshiki@cs.ehime-u.ac.jp http://ipr20.cs.ehime-u.ac.jp/~isshiki/literacy/

先週の演習問題の解答 以下のワールドカード指定がどのような意味を持つか説明せよ 1. sample[0-9].dat sample で始まり, その後に 0~9 のいずれか一文字が続き,.dat で終わる文字列 2. tmp*.txt tmp で始まり,.txt で終わる文字列 3. check.{c,h} check.c と check.h 2

今日の内容 シェルスクリプトとは シェルスクリプトの基礎 作成のルール 実行のルール シェルスクリプトの作成 変数の利用 特殊文字のエスケープ 位置パラメータ 高度なシェルスクリプト 条件判定 分岐制御文 繰り返し制御文 3

シェルスクリプト CUI のスタイル 下のコメントも参照 シェルの動作 コマンドラインの操作と結果の表示の反復 一連のコマンド群をファイルに記述し, まとめて処理 ( バッチ処理 ) シェルスクリプト ファイルに記述されたコマンド群スクリプトのスタイル 条件分岐や繰り返し操作が可能 複雑な処理の自動化 CUI(Character-based User Interface) 文字とキーボードによるコンピュータの操作 情報技術者として必要なスキル ( マニュアル車の感覚 ) GUI(Graphical User Interface) 絵とマウスによるコンピュータの操作 一般ユーザの使い方 (AT 車の感覚 ) 4

どのシェルでスクリプトを書く? 複数のシェルが存在 (tcsh, bash, ) シェルによりスクリプトの構文が微妙に違う bash で書いたスクリプトを tcsh で実行できないかも tcsh または bash がインストールされていないかも bash や tcsh では汎用性に欠ける B シェルは大抵の UNIX 系システムに装備 ログインシェル ( 普段使うシェル ) 好みのシェル (tcsh, bash 等 ) シェルスクリプト B シェル 5

今日の内容 シェルスクリプトとは シェルスクリプトの基礎 作成のルール 実行のルール シェルスクリプトの作成 変数の利用 特殊文字のエスケープ 位置パラメータ 高度なシェルスクリプト 条件判定 分岐制御文 繰り返し制御文 6

スクリプト作成のルール コマンドを並べたテキストファイル 約束事 先頭行は #!/bin/sh で始める 先頭行以外の # 以下はコメント #!/bin/sh # # シェルスクリプトの例 (lr.sh) # カレントディレクトリのファイルを逆順に保存し, 表示 ls sort -r > filelist.txt cat < filelist.txt # 行末までコメント 7

スクリプトの実行のルール 方法 1: シェルを起動 % sh lr.sh 方法 2: 実行権限の付加 ( こちらが主流 ) % ls -l lr.sh -rw-r--r-- 1 foo foo 実行権限がない % chmod +x lr.sh パーミッションの変更 (p. 62) % ls -l lr.sh -rwxr-xr-x 1 foo foo %./lr.sh 実行権限が付加された ピリオド と スラッシュ と スクリプト名 で実行 8

今日の内容 シェルスクリプトとは シェルスクリプトの基礎 作成のルール 実行のルール シェルスクリプトの作成 変数の利用 特殊文字のエスケープ 位置パラメータ 高度なシェルスクリプト 条件判定 分岐制御文 繰り返し制御文 9

シェルスクリプトの作成 ( シェル変数 ) ユーザやファイルから受け取った値や, コマンドによって返された値を, 文字列として変数に保持 変数名の約束事 アルファベット, 数字, アンダースコア 数字からは始まらない 大文字と小文字は区別 変数へのデータの代入法と参照法 コマンド echo 1 行のテキストを表示 メッセージの表示に利用 #!/bin/sh # スクリプト variable1.sh DIR=/home い echo $DIR DATE=`date +%Y%m%d` echo $DATE 代入 : = の両側に空白を入れな 参照 : 変数名に $ を付ける コマンドの出力も代入できる 10

シェルスクリプトの作成 ( シェル変数 ) ユーザやファイルから受け取った値や, コマンドによって返された値を, 文字列として変数に保持 変数名の約束事 アルファベット, 数字, アンダースコア コマンド echo 数字からは始まらない 1 行のテキストを表示 コマンド展開 大文字と小文字は区別 メッセージの表示に利用コマンドをバック クォーテーション 変数へのデータの代入法と参照法 (shift+@) で囲むと, 実行結果が通常の文字列として扱われる. #!/bin/sh date コマンドの結果を変数 DATE に代入している # スクリプト variable1.sh DIR=/home い echo $DIR DATE=`date +%Y%m%d` echo $DATE 代入 : = の両側に空白を入れな 参照 : 変数名に $ を付ける コマンドの出力も代入できる 11

シェルスクリプトの作成 ( シェル変数 ) シェル変数の参照における注意事項 変数の参照と文字列連結の組合わせには要注意!! #!/bin/sh # スクリプト variable2.sh DIR=/home echo $DIR echo $DIR1 echo ${DIR}1 変数 DIR に, 文字列 /home を格納 変数 DIR の内容 /home を表示 変数 DIR1 の内容を表示せよ と解釈 変数 DIR の内容と 1 を連結して表示 12

シェルスクリプトの作成 ( シェル変数 ) シェル変数の参照における注意事項 変数の参照と文字列連結の組合わせには要注意!! #!/bin/sh # スクリプト variable2.sh DIR=/home echo $DIR echo $DIR1 echo ${DIR}1 変数 DIR に, 文字列 /home を格納 変数 DIR の内容 /home を表示 変数 DIR1 の内容を表示せよ と解釈 変数 DIR の内容と 1 を連結して表示 変数 DIR1 が以前に定義されていなければ, 何も表示されない 13

シェルスクリプトの作成 ( シェル変数 ) 注意事項 既に定義されている変数が幾つか存在 各種アプリケーションで使用 代入できないが参照は可能 PATH コマンドディレクトリ SHELL 現在使用しているシェル USER ユーザ名 PWD 現在の絶対パス名 UID ユーザID OLDPWD 移動前の絶対パス名 HOME ユーザのホームディレクトリ LANG 言語指定 HOSTNAME ホスト名 PPID 親プロセスのプロセスID これらの変数名の使用は避ける! 14

シェルスクリプトの作成 ( エスケープ ) * や $ などの特殊文字を, 単なる文字と扱いたい その場合, 特殊性の無効化 ( エスケープ ) が必要 バックスラッシュを直前に付加 シングルクオートで囲む ( 変数参照 ファイル名展開もエスケープ ) ダブルクオートで囲む ( 変数参照 ファイル名展開は有効 ) #!/bin/sh # スクリプト escape.sh echo User name is $USER echo User name is $USER echo User name is $USER echo User name is $USER ユーザ名が表示 $USER と表示 $USER と表示 ユーザ名が表示 はバックスラッシュ 15

シェルスクリプトの作成 ( 位置パラメータ ) コマンドライン引数を, 位置パラメータ と呼ばれる特殊変数に格納可能 参照方法 1 9 番目の引数 $1 $9 スクリプト名 $0 引数の数 $# ファイル名やディレクトリ名, オプションを引数として与えて処理できる #!/bin/sh # スクリプト clpar.sh echo 1st parameter: $1 echo 2nd parameter: $2 echo shell script: $0 echo number of parameters: $# 16

シェルスクリプトの作成 ( 位置パラメータ ) コマンドライン引数を, 位置パラメータ と呼ばれる特殊変数に格納可能 参照方法 1 9 番目の引数 $1 $9 スクリプト名 $0 引数の数 $# % chmod +x clpar.sh 実行権限の付与 %./clpar.sh aaa bbb スクリプトの実行 1st parameter: aaa 第 1 引数 aaa が表示 2nd parameter: bbb 第 2 引数 bbb が表示 shell script: clpar.sh スクリプト名が表示 number of parameters: 2 引数の個数が表示 17

演習 スライドに示したシェルスクリプトのサンプルを作成 実行して, 内容の確認 理解をする. nkf コマンドで漢字コードと改行コードを Windows UNIX へ変換する際, 変換元と変換先のファイル名が異なっている必要がある. したがって, ファイル名を変えずにコードのみを変換するには, 例えば, 次のように % nkf -ed filename.txt > filename_euc.txt % mv filename_euc.txt filename.txt と,2 つのステップが必要である.1 つのステップで行うためのシェルスクリプト kconv.sh を作成せよ. なお, 書式は %./kconv.sh [ 対象ファイル名 ] とする. 18

今日の内容 シェルスクリプトとは シェルスクリプトの基礎 作成のルール 実行のルール シェルスクリプトの作成 変数の利用 特殊文字のエスケープ 位置パラメータ 高度なシェルスクリプト 条件判定 分岐制御文 繰り返し制御文 19

シェルスクリプトの作成 ( 条件判定 ) 条件分岐や繰り返し文では, ある条件に合致するか否かの判断が必要 test コマンドで実現 条件が正しいとき 真 (0 の値 ) 条件が誤っている 偽 (0 以外の値 ) $? は特殊変数で, 直前のコマンドが返す値を保存 正常終了 :0 異常終了 :1 #!/bin/sh # スクリプト condition.sh test -f condition.sh echo $? test -f hogehoge.txt echo $? ファイルが存在するので 0 を表示 ファイルが存在しないので 1 を表示 20

シェルスクリプトの作成 ( 条件判定 ) 条件分岐や繰り返し文では, ある条件に合致するか否かの判断が必要 test コマンドで実現 条件が正しいとき 真 (0 の値 ) 条件が誤っている 偽 (0 以外の値 ) test コマンドの簡略版で, スクリプト内で見易い #!/bin/sh # スクリプト condition.sh [ -f condition.sh ] [ の後と ] の前には空白を挿入 echo $? ファイルが存在するので 0 を表示 [ -f hogehoge.txt ] echo $? ファイルが存在しないので 1を表示 21

シェルスクリプトの作成 ( 分岐制御文 ) 単純な分岐処理 if 条件式 then 処理 fi 条件式 真 処理 偽 例 : ファイルが存在するか否かで分岐 #!/bin/sh # スクリプト branch1.sh if [ -f $1 ] then fi echo The $1 exists. #!/bin/sh # スクリプト branch1.sh if [ -f $1 ]; then fi echo The $1 exists. 22

シェルスクリプトの作成 ( 分岐制御文 ) 複数方向への分岐処理 if 条件式 ; then 処理 1 else 処理 2 fi 条件式 真 処理 1 偽 処理 2 #!/bin/sh # スクリプト branch2.sh if [ -f $1 ]; then echo The $1 exists. else fi echo The $1 does not exist. 23

シェルスクリプトの作成 ( 繰り返し制御文 ) 同じ処理の繰り返し for 変数 in 複数の文字列 ; do 処理 done in の後の文字列が左から, 変数に格納 処理 内で参照可能 月の表示 繰り返し 処理 繰り返し #!/bin/sh # スクリプト loop.sh for month in Jan Feb Mar Apr; do echo Month : $month. done 24

スクリプトの保存場所 自作した汎用性のあるスクリプトの保存 chmod コマンドで実行可能形式に変換 ~/bin 以下に保存 コマンド検索パスの設定ホームディレクトリ内の設定ファイル.bashrc に export PATH=$PATH:$HOME/bin を付加 = の両側に空白入れない 通常のコマンド同じように使用可能 25

演習問題 第 10 回 : シェルスクリプト スクリプト kconv.sh を完成させよ 作成した kconv.sh を, 分岐制御文や繰り返し制御文を使って, より便利なスクリプトに改良せよ. 26