業務報告会
- 2. アジェンダ
第壱話 しぇるの基本機能
第弐話 しぇるの色々な機能
第参話 しぇるのデバッグ
- 4. 変数
書式
VALIABLE=value 変数VALIABLEに値valueを代入する。
※ 変数として利用可能な文字は、英数字、「_(アンダーバー)」
※ 数字は変数名の先頭文字にできない。
※ 大文字、小文字は区別される。
※ 変数への代入はスペースを空けてはいけない。
変数VALIABLEの参照方法
① $VALIABLE ② ${VALIABLE}
- 5. 標準入出力
標準入力 シェルに対する
キーボードからの入力
標準出力 結果の出力は
その端末画面上に現れる
標準エラー出力 エラーメッセージも
その端末画面に現れる
- 7. リダイレクション
入力元・出力先を変更する仕組み
書式
(0)< file 標準入力をファイル(file)から読み込む
(0)<< file 標準入力をヒアドキュメントから読み込む
(0)< & x 標準入力をx番のファイルディスクリプタから
読み込む
(0)< & - 標準入力をクローズする
(1)> file 標準出力の内容をファイル(file)に書き込む
(1)>> file 標準出力の内容をファイル(file)に追加書き
(1)> & x 標準出力をx番のファイルディスクリプタに書く
(1)> & - 標準出力をクローズする
- 8. ヒアドキュメント
標準入力をスクリプト内部で生成する仕組み
書式
<< str
document 区切り文字「str」で囲まれた
str document部分を標準入力に渡す。
<<- str 区切り文字「str」で囲まれた
[tab]document document部分を標準入力に渡す。
str 各行頭のタブ1つは削除される。
<< ‘str’ 区切り文字「str」で囲まれた
document document部分を標準入力に渡す。
str document部分の変数は展開されない。
- 10. メタキャラクタ
出力先・入力元を変更する仕組み
~ ホームディレクトリに置き換える
! 過去に実行したコマンドに対して操作を行う
`cmd` コマンドcmdの実行結果に置き換わる
& バックグラウンドでコマンドを実行する
文字列strは$、¥、`以外
‚str‛
そのままの文字列として処理する
¥char 文字charの特殊な意味を無効にする
; コマンド行の区切りと解釈される
# #以後行末までをコメント扱いにする
- 12. 特殊変数
※ 書き込み禁止であり、
値を自分でセットすることはできない
コマンド実行時の終了ステータスを表わ
$? す
現在動作しているコマンドの
$$ プロセスIDがセットされる
バックグラウンドで起動したコマンドの
$! プロセスIDがセットされる
シェルの起動時のフラグの一覧が
$- セットされる
- 14. 数値の計算
整数の計算を行う。
expr コマンド
数値として0~9の値を認識する。
四則演算
足し算 expr int1 + int2
引き算 expr int1 – int2
掛け算 expr int1 * int2
割り算 expr int1 / int2
剰余算 expr int1 % int2
- 15. 数値の比較
評価結果に従い、
test コマンド 真(0)か偽(1)かの終了ステータスを返す
※ 画面上への出力等は行わない
test int1 –eq int2 int1とint2が等しい時真
test int1 –ne int2 int1とint2が等しくない時真
test int1 –lt int2 int1がint2より小さい時真
test int1 –le int2 int1がint2より小さいか等しい時真
test int1 –gt int2 int1がint2より大きい時真
test int1 –ge int3 int1がint2より小さいか等しい時真
- 16. 浮動小数点を含む計算
足し算 echo ‚num1 + num2‛ | bc
引き算 echo ‚num1 - num2‛ | bc
掛け算 echo ‚num1 * num2‛ | bc
割り算 echo ‚num1 / num2‛ | bc
小数点の制度を設定する場合
scale コマンド 小数点第何位まで出力するか指定する
割り算 echo ‚scale=3; num1 / num2‛ | bc
- 17. 文字列の操作
文字列の置き換え
標準入力からデータを受け取って、
sed コマンド
編集後の結果を標準出力に書きだす
書式
sed -e s/ 置換条件 / 置き換え条件 /g
文字列の連結
書式
STRING1=Hello STRING2=World
VAR=${STRING1}${STRING2}
- 19. 文字列の操作
文字列の一部分の切り出し①
書式
expr ‚対象文字列‛ : ‚regexp ¥ ( regexp ¥ ) regexp‛
文字列の一部分の切り出し②
cut コマンド 文字列の中から所定の文字列を抜きだす
書式
echo ‚対象文字列‛ | cut –c 開始位置-終了位置
フィールドで切り出す場合
echo ‚対象文字列‛ | cut –d ‘区切り文字’ –f 開始位置