シェルスクリプトの基本
シェルスクリプトの実行
シェルスクリプトの実体はテキストファイル。
そのままでは実行できないので,chmodコマンドでファイルの属性を変更し,実行権限(x)を与える。
実行するときは,通常のコマンドと同じようにファイル名を入力するだけ。
コマンドと同じようにパラメータを渡すこともできる。
スクリプトの例
#!/bin/bash
# This is a script file for practice
echo "$@ was given as parameter"
|
上記例を実行したところ
[toshim@gw2000 ~/work]$ chmod +x myscript <-- ファイル属性に実行権限を付加
[toshim@gw2000 ~/work]$ ls -l myscript
-rwxr-xr-x 1 toshim users 78 May 25 10:54 myscript <-- 属性がrwxr-xr-xになり,実行可能になった
[toshim@gw2000 ~/work]$ ./myscript para1 para2 para3 <-- para1 para2 para2という三つのパラメータを指定して実行
para1 para2 para3 was given as parameter
|
シェルスクリプトで良く使うコマンド/表記法
#
|
コメント |
#!/bin/bash
|
シェルスクリプトを実行するシェルを指定する。
シェルスクリプトの先頭に書く。 |
$1
$2
|
パラメータを参照する。
Windowsバッチファイルの%1,%2などと同じだが,下記のような使い方もある。
$0はコマンド名を表す。
$@はパラメータ全部に置き換わる。つまり,$1
$2 $3 ...というのと同じ。 |
シェル中には外部コマンドとシェルの組み込みコマンドの両方を同じように使える。
制御構造
制御構造はこちらを参照。
制御構造の中の条件判定などで使う式や演算子はこちらを参照。
変数などの置換え
Unixのシェルは変数などを展開したり置換える機能が豊富。
こちらを参照。
シェル起動時に実行されるファイル
Linux標準のBashシェルは起動時に~/.bashrcファイルを実行する。
注意点
変数への代入はスペースを空けてはいけない。(例:n=10)
変数はそのままではシェルスクリプトに引き継がれない。
つまり,シェル変数やBash変数はシェルスクリプトではログイン時の値に戻り,ユーザ定義変数は未定義となる。
変数をシェルスクリプトに引き継ぎたい場合はexportコマンドを使う。
'....'と"....."は意味が若干違う。
'....'は変数の展開や置換えなどを行わないが,"....."は展開や置換えを行う。
|