入門UNIXシェルプログラミング改訂第2版を最近読み始めたので、メモしながら読み進める。

基本

  • シェルプログラムの先頭には #!/bin/shを書く。
    • 汎用性を考えると、Bシェルで書く必要がある。
  • シェルプログラムには、実行権限(xフラグ)を与える

コメント

#はコメント、\でコマンド中の改行が可能。

ワイルドカードで使える文字

* 文字列全部

? 1文字

[...] [ ]の中に含まれている文字のどれがひとつ

[!...] [ ]に含まれない文字

クォーテーション

ここでいうクォーテーションは、スクリプト内での文字の機能を無視させるという意味。

\(バックスラッシュ)でその後ろの1文字をクオート。'(シングルクォート)で囲む。"(ダブルクォート)で囲む。ただし、ダブルクォートで囲んだ場合、その文字列に含まれる$`(バッククォート)、\の文字をエスケープできない。

$ FILE=foobar
$ echo "Cannot remove $FILE"
Cannot remove foobar
$ echo "Today is `date`"
Today is 2017年 10月 4日 水曜日 23時19分14秒 JST