ロングセラー『シェルスクリプト基本リファレンス』の改訂第4版。シェルスクリプトの知識は、プログラマにとって長く役立つ知識です。本書では、複数のプラットフォームにも対応できる移植性の高いシェルスクリプト作成を考慮しながら、基本から丁寧に解説。本書では最新(執筆時点)のLinux/Ubuntu、FreeaBSD、Solarisに加え、組み込み分野等で注目度の高いBusyBoxもサポート。そして、第4版では新たにzsh&dashにも対応し、全収録スクリプトの動作確認、さらにはWindows(WSL2)とmacOS環境のbashにおけるテストも行い、さらなる移植性の高さを追求。しかし、この真意は移植性自体の確保ではなく、そこから見えてくるであろうUnix系統で受け継がれるOS&シェル環境の歴史や構造への着目にあります。そんな版を重ねたからこそ実現する、パワーアップした1冊をお届けします。# 第0章 シェル&シェルスクリプトの基礎知識## 0.1 概要## 0.2 いろいろなシェル## 0.3 プログラムであるシェルスクリプト## 0.4 移植性の高いシェルスクリプトについて# 第1章 シェルスクリプト入門## 1.1 Hello World## 1.2 #!/bin/shの意味## 1.3 実行方法について# 第2章 シェルスクリプトの基本事項## 2.1 シェルスクリプトはフリーフォーマット## 2.2 コメントの書き方## 2.3 コマンドの終了ステータス# 第3章 シェル文法の循環構造## 3.1 コマンド→パイプライン→リストの循環## 3.2 コマンド/パイプライン/リスト## 3.3 &&リスト/||リスト# 第4章 複合コマンド## 4.1 概要## 4.2 構文## 4.3 サブシェルとグループコマンド## 4.4 シェル関数## 4.5 算術式の評価と条件式の評価# 第5章 組み込みコマンド[1]## 5.1 概要## 5.2 組み込みコマンド(基本)# 第6章 組み込みコマンド[2]## 6.1 概要## 6.2 組み込みコマンド(外部コマンド版もあり)## 6.3 組み込みコマンド(拡張)## 6.4 組み込みコマンド(その他)# 第7章 パラメータ## 7.1 概要## 7.2 シェル変数の代入と参照## 7.3 位置パラメータ## 7.4 特殊パラメータ## 7.5 環境変数## 7.6 特別な意味を持つシェル変数# 第8章 パラメータ展開## 8.1 概要## 8.2 条件判断をともなうパラメータ展開# 第9章 クォートとコマンド置換## 9.1 概要## 9.2 クォート## 9.3 コマンド置換# 第10章 各種展開## 10.1 概要## 10.2 パス名展開## 10.3 ブレース展開## 10.4 算術式展開## 10.5 チルダ展開## 10.6 プロセス置換## 10.7 単語分割# 第11章 リダイレクト## 11.1 概要## 11.2 いろいろなリダイレクト# 第12章 よく使う外部コマンド## 12.1 概要## 12.2 シェルスクリプトならではのコマンド## 12.3 一般コマンド# 第13章 配列## 13.1 概要## 13.2 配列への代入と参照## 13.3 配列の一括代入と一括参照## 13.4 bashやzsh以外のシェルで配列を使う方法# 第14章 シェルスクリプトのノウハウ&定石