Skip to Content
bash イディオム
book

bash イディオム

by Carl Albing, JP Vossen
May 2025
Intermediate to advanced
170 pages
2h 21m
Japanese
O'Reilly Media, Inc.
Content preview from bash イディオム

付録 bashイディオムスタイルガイド

これは 、第11章の点をコピーしたものだが、解説や例は含まれていない。 examplesディレクトリにMarkdownファイルもあるので、ダウンロードして好きなように調整し、pandoc や他のツールを使って必要に応じてレンダリングしたりインクルードしたりできる。 コードは本のGitHubページから入手できる。

bashイディオムスタイルガイドはポータブルではない

このbashイディオムスタイルガイドはbash専用なので、POSIX、Bourne、Dash、その他のシェルには移植できない。 これらのシェル用に書く必要がある場合は、それらのシェルでサポートされている構文や機能を考慮して、このガイドをテストして調整する必要がある。

Dockerなどのコンテナでは、/bin/sh がbashではなく、/bin/bash も存在しない可能性があるので、特に注意が必要だ! これは、モノのインターネットや、産業用コントローラなどの制約のある環境に当てはまる。 コンテナにおけるbash」と「Shebang!

読みやすさ

コードの読みやすさは重要だ! Pythonが言うように、読みやすさはカウントされる。 あなたは一度しか書かないが、あなた(や他の人)はおそらく何度も読み返すだろう。 来年、そのコードを読もうとしている哀れな無知な人のことを考えて、余分な数秒か数分を費やそう。 抽象化(Don't Repeat Yourself)と読みやすさの間にはバランスと緊張がある:

  • KISS(Keep It Simple, Stupid!)

  • 読みやすさ:「賢い」のではなく、「明確」であること。

  • 良い名前付けは重要だ!

  • 常にヘッダを使う。

  • 可能な限り、-h--help 、引数が正しくない場合に有用な何かを発する!

    • エコー行の束よりも、"here "ドキュメント(先頭タブ付き)を使う方が、更新するときの摩擦が少ないし、おそらく後で再ラップする必要があるからだ。

  • 設定ファイルをインクルードするには、.cfg (または.conf 、またはあなたの標準が何であれ)で終わるように、source. の代わりに、見過ごしやすく、検索しにくい)を使用する。

  • 可能な限り、すべてのものにISO-8601の日付を使用する。

  • 重複を防ぎ、項目の追加や削除を容易にする。例としては、IPアドレス(GNUsort -V を使用)、ホスト名、インストー ルするパッケージ、case 文、変数や配列/リストの内容な どがある。

  • 例えば、diff -q の代わりにdiff --quiet を使うなどである。ただし、GNU/Linux 以外のシステムへの移植性に注意すること。

    • オプションが短かったり、わかりにくかったりする場合は、コメントを追加すること。

    • なぜそのオプションを選んだのか、あるいは必要だったのか、また、検討したが何らかの理由で使わなかったオプションについても、文書化することを強く検討する。

    • 良いアイデアのように見えるが、実際には問題を引き起こす可能性のあるオプションは、特に他の場所でよく使用する場合は、必ず文書化すること。

コメント

  • 常にヘッダを使う。

  • 1年後、新しくチームに加わる人へのコメントを書く。

  • 関数をコメントする。

  • 何をしたかについてコメントしてはいけない。なぜ何かをしたのか、あるいはしなかったのかについてコメントする。

    • 例外:bash自体が曖昧な場合、何をしたかコメントする。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Bash クックブック第2版

Bash クックブック第2版

Carl Albing, JP Vossen
UXデザインの法則 第2版 ―最高のプロダクトとサービスを支える心理学

UXデザインの法則 第2版 ―最高のプロダクトとサービスを支える心理学

Jon Yablonski, 相島 雅樹, 磯谷 拓也, 反中 望, 松村 草也

Publisher Resources

ISBN: 9798341651357