シェルスクリプト入門 中級編

目的、目標について

初級編で概要に触れ,中級編からはコマンドの幅を広げて様々な組み合わせができるようになる事を目指します。


1 コマンドと組み合わせについて

1-1 pipe( パイプ, | )コマンド

pipe(パイプ)コマンドに代表されるように、シェルでのコマンドは繋げて実行する事ができます。

表記は |
| をパイプコマンドといいます。

下記の動きを見てもらえば、seqコマンドで1〜5までの出力に対して,pipeコマンドでgrep検索をかけて、1を
出力してるのがわかります。

$ seq 1 5
1
2
3
4
5

$ seq 1 5 | grep 1
1

参照

1-2 xargs コマンド

xargs はパイプでつなぐ前の標準出力を次のコマンドの引数として渡すコマンドです。

$ echo "test"

test

$ echo "test" | xargs mkdir

testディレクトリが作られる

よく使うパターンとしてfindに対してgrepをかけるというパターンがあります。

1-3 プロセスの置き換え

プロセスの置き換えとは

課題

  • 1 pipコマンド,xargsコマンドについて1行で述べよ
  • 2 プロセスの置換えについて、プロセスとは何か述べよ

参照


2 実践で役立つサンプルスクリプト

基本となるサンプルを書き換え利用することにより理解と習得を早める

課題

  • サンプルスクリプト集を20作ろう。


3 覚えるべきコマンド20

グルーピング {}
パイプ |
リダイレクトパイプ プロセス置換 <,>
コマンド置換え $()
サブシェル()
複合コマンド ;

特別な変数 $0 $1~$9 $# $* $@ $? $$ $!
変数値の置換え ${var} ${var:-word} ${var:=word} ${var:?word} ${var:+word}
配列 (a b c)
各種オペレータ + - eq ne gt・・・
if then elif else fi
case esac
while do done
until do done
for do done
関数

du dh
top
ps kill

dig nslookup ping
curl


4 補足

より深く知るためのTips

とはいえ・・・


5 マニュアルについて

参照すべきマニュアルは?

コマンドで

$ man bash

でも良いですが、見づらいという人は。

関連