As rookie

ルーキーインフラエンジニアがインフラのこと以外も結構書いてしまうブログ

さぁPOSIXを始めよう

こんにちはー

久しぶりの投稿になります..

たまにはてなブログのアクセス数を見たりしてましたが、記事を書くには至りませんでした。(何を言っても言い訳になりそう)

だいたい1日20〜30アクセスはあるようです。もっとPVを増やすとやる気も出てくるのでは??
と思い、seoあげてみるか!とか考えてました!!

が本日は逆行します。

本題

POSIXという言葉を聞いたことはあるでしょうか?

POSIX - Wikipedia

とりあえずウィキペディアのリンクを貼っておきます。

POSIX(ポシックス、ポジックス、英: Portable operating system interface)は、各種UNIXを始めとする異なるオペレーティングシステム (OS) 実装に共通のアプリケーションプログラミングインタフェース (API) を定め、移植性の高いアプリケーションソフトウェアの開発を容易にすることを目的としてIEEEが策定したAPI規格である。

超ハイパーざっくりとした僕の認識は

  • どこの環境でも動く

です。

以前に「恐怖!シェルショッカーのPOSIX原理主義 シェルスクリプト」というスライドを見たことがあって、受けた印象です。

www.slideshare.net

(是非見てみてください)

移植性が高いに越したことはないですよね。
名著の「UNIXという考え方-その設計思想と哲学」でも

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

「効率より移植性」

という定理が書かれています。
(是非読んでください)

#!/bin/sh

と書いていながら

lrwxrwxrwx.   1 root root         4 Oct 28 11:03 sh -> bash

こういうことありますよね。
ここでは動いているのに、僕の環境じゃ動かない!

というのをなるべく個人レベルでも無くしていきたいので、最近はPOSIX準拠したコマンドを使うようにしています。(配列とかもそうですね)

なるべくとかではなく、sh で動くものを作るようにしています。

POSIXコマンドチートシートをQitaで作成してしている方がいたので、こちらも参考にさせていただいています。

qiita.com

今後の取り組み

POSIX準拠かどうかを調べる方法はいくつかあります。 ですが、そもそもPOSXI準拠のコマンドを知っていないと、何かを作るときに遠回りになる可能性があります。

そこで、私は、1日1shコマンドを心がけて生活していきたいと思います!!

参考にするところはこちらのリンク

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html

ここに記載されているコマンドを1日一つできれば、それなりのPOSIX成長を見込めるのではないでしょうか。

1日一つコマンドを使ってみて、使い方を理解する、活用方法を考える。的な感じでできればと思っています。

まとめ

半年ぐらい記事更新をさぼっていたやつが1日1記事更新するのはおそらく無理なので、各コマンドについて記事を更新するかは闇の中ですが、
できるだけ!できるだけ!やっていこうと思います。

追記

当初は

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html

のページの上から行っていこうと思ったのですが、序盤の方は
Special Built-In Utilities(break, continue等)だったので、そっちの方は時間をじっくりやるべきだと思い、1日1回実行するのは
Utilitiesの方にすることにしました。

Utilities

アーカイブ

POSIX1日1コマンド[part1]: alias - As rookie