docker Advent Calendar 2021。 4日目
投稿ナビゲーション← 前へ次へ →
置換ができない/複数ある場合に sed の終了コード0以外にする
自分のわかりやすい順番および、Docker Advent Calendarの読者の視点で記述を確認させてください。
趣旨
モダンなプログラミング言語が軒並み型推論でコンパイル時にエラーとするように、 Dockerfile もビルド時にエラーにしてしまおう。
とても大切なことです。
C言語でも、既定値としてはOSのstartup関数(main)は、intを返すことになっています。
OS処理または、アプリを扱う枠組みで、main関数からの戻り値を利用することがありませんでした。
sed
sedでは、終了コードを簡単に設定でき、目的に合わない場合を識別使用という趣旨で、納得感があります。
Return value of sed for no match
読みに行った。いろいろ書いてあって、どれがどういう役に立つか、ピンと来ないものがあった。
sed 使いじゃないことを自覚した。
参考文献と感想をつけさせてください。
SEDのスクリプトも、AWKのスクリプトも、0から書いたことがありません。そのため、なるべくたくさん情報を集め、自分の作りたいものに似たものを修正して作ります。 本書にも、例がありますが、ネットでも例を探すとよいでしょう。既存のスクリプトを修正する際に、本書の記述を参考にしていました。 今では、pythonを使う人の方が多いでしょう。コマンドプロンプト上でのちょっとした編集の際に、pythonlが入っていないシステムで利用することがあります。sedが使えることは損ではないと思います。
未確認
未確認なのは、scriptのデバッグをどこまで、どうやるか。
例えば、処理中に中断があった場合にうまく中断したことを知らせることができるか、その仕組みをどうデバッグするかなどです。
付録
シェルスクリプト Advent Calendar 2021 4日目の記事でもあるらしい。
QiitaのURLだと、登録済みという警告が出て登録できなかったような気がした。
この記事は、https://aquasoftware.net/ の記事だからできるのだろうか。
重複投稿を禁止する意図もなかった。
自分でも重複投稿しようとしていた。
できずに泣いていた。Researchmapかgithubに先に記事を書いておいて、その複写をQiitaに投稿し、それぞれ別々のところに投稿するという手もあったかもしれない。
記事書くので手一杯で、そこまで試せてなかった。
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.