さぁPOSIXを始めよう
こんにちはー
久しぶりの投稿になります..
たまにはてなブログのアクセス数を見たりしてましたが、記事を書くには至りませんでした。(何を言っても言い訳になりそう)
だいたい1日20〜30アクセスはあるようです。もっとPVを増やすとやる気も出てくるのでは??
と思い、seoあげてみるか!とか考えてました!!
が本日は逆行します。
本題
POSIXという言葉を聞いたことはあるでしょうか?
とりあえずウィキペディアのリンクを貼っておきます。
POSIX(ポシックス、ポジックス、英: Portable operating system interface)は、各種UNIXを始めとする異なるオペレーティングシステム (OS) 実装に共通のアプリケーションプログラミングインタフェース (API) を定め、移植性の高いアプリケーションソフトウェアの開発を容易にすることを目的としてIEEEが策定したAPI規格である。
超ハイパーざっくりとした僕の認識は
- どこの環境でも動く
です。
以前に「恐怖!シェルショッカーのPOSIX原理主義 シェルスクリプト」というスライドを見たことがあって、受けた印象です。
www.slideshare.net
(是非見てみてください)
移植性が高いに越したことはないですよね。
名著の「UNIXという考え方-その設計思想と哲学」でも
- 作者: Mike Gancarz,芳尾桂
- 出版社/メーカー: オーム社
- 発売日: 2001/02/01
- メディア: 単行本
- 購入: 40人 クリック: 498回
- この商品を含むブログ (145件) を見る
「効率より移植性」
という定理が書かれています。
(是非読んでください)
#!/bin/sh
と書いていながら
lrwxrwxrwx. 1 root root 4 Oct 28 11:03 sh -> bash
こういうことありますよね。
ここでは動いているのに、僕の環境じゃ動かない!
というのをなるべく個人レベルでも無くしていきたいので、最近はPOSIX準拠したコマンドを使うようにしています。(配列とかもそうですね)
なるべくとかではなく、sh
で動くものを作るようにしています。
POSIXコマンドチートシートをQitaで作成してしている方がいたので、こちらも参考にさせていただいています。
今後の取り組み
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の方にすることにしました。