タグ

designとshに関するraimon49のブックマーク (6)

  • tar(1) はなぜオプション引数にハイフンが不要なのか?

    TL;DR tar(1)の引数はオプションではなくkeyだから 歴史 tar(1)は Unix v7 (1979) で導入されたが、その前身は Unix v4 (1973) の tp(1)、更にこれは Unix v1 (1971) の tap(1) に遡る。 80年代に入りSystemV v.s. BSDといったことが起きたりし、PWB/UNIX (Programmer's WorkBench)で導入された cpio(1)とtar(1)、どちらがUnixの標準アーカイバか争われた結果、IEEE Std. 1003.1-2001 (POSIX.1-2001) を以って tar(1)は規格から削除され、代わりに IEEE Std 1003.2-1992 で導入された折衷案のpax(1)が標準となった。よって、現在実装中立なtar(1)の仕様書がそもそも存在しない。最後の中立規格は1997―19

  • シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita

    はじめに bash などのシェルには [ ... ] と [[ ... ]] の二種類の比較方法があります。一つはコマンド、もう一つはシェルの文法なのですが、具体的にはこの二つは一体何が違うのでしょうか? そもそもなぜ似ている機能が二つもあるのでしょうか? この記事は言語設計者の気持ちになって考えることで、その理由を解き明かそうという記事です。 なお、違いについての簡単な説明については「test と [ と [[ コマンドの違い - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog 」の記事がよくまとめられていますので紹介します。一通りの違いを素早く知りたい方はこちらを参照してください。 参考 シェルの歴史や種類については「シェルの歴史 総まとめ(種類と系統図)と POSIX の役割」に詳しくまとめています(系統図とか頑張って書いたので見

    シェルスクリプトの [ ] と [[ ]] の違いを歴史的に解説 〜 言語設計者の気持ちになって理解しよう - Qiita
  • PowerShell の stderr の落とし穴

    PowerShell では外部プログラムの標準エラー (stderr) を error stream に流すために大きな落とし穴があるので、まとめておく。 stderr を redirect して外部プログラムを起動し、 stderr に出力すると一行ごとに ErrorRecord でラップされる stdout への redirect 2>&1 、ファイルへの redirect 2> a.txt、$null への redirect 2>$null で ErrorRecord でのラップがされる 外部プログラムの stderr を stdout やファイルに redirect すると、 NativeCommandError と出力される stderr に出力があるとエラーとみなされ $? は $false になり、エラーは $Error に記録される。 $ErrorActionPrefere

  • Option Table (GNU Coding Standards)

    4.10 Table of Long Options Here is a table of long options used by GNU programs. It is surely incomplete, but we aim to list all the options that a new program might want to be compatible with. If you use names not already in the table, please send bug-standards@gnu.org a list of them, with their meanings, so we can update the table. ‘after-date’ ‘-N’ in tar. ‘all’ ‘-a’ in du, ls, nm, stty, uname,

    raimon49
    raimon49 2014/12/21
    ロングオプション 対応表
  • シェルスクリプトのオプション設計ガイドライン - Qiita

    僕はコマンドラインで使うシェルスクリプトを書くことがけっこうあるんだけど、インターフェイスというか呼び出し方はとても大事だと思ってるので、そこにわりと時間をかけて考えるようにしてる。実装はいつでも変更できるけど呼び出し方を変えた時は利用者にも変更を強いるので、できれば最初から良い設計で作りたいと思っている。 そこで、僕がシェルスクリプトのオプションとか引数とかの仕様を決める上で注意していることをまとめてみた。シェルスクリプトや、その他コマンドラインのツールを作るときに参考にしてほしい。 シェルの種類は bash や zsh を想定してるけど、実装によらない話なのでどんなシェルでも使えると思う。 エラーの時に Usage (使い方ヘルプメッセージ)を表示するのはやめる エラーになった時に Usage (使い方ヘルプメッセージ) を表示するスクリプトがあるけど、やめたほうがいいと思う。例えばこ

    シェルスクリプトのオプション設計ガイドライン - Qiita
    raimon49
    raimon49 2014/05/21
    aliasから呼ばれることも考慮する。例えば判定の意味を持つオプションが両方とも指定されているなら後に指定した方を優先する。なる。
  • A Better UI (CLI) for git | Jon Saints

    By Jon Saints - 29 Jan 2012 I recently read 3 UI books Design of Everyday Things About Face Don’t Make Me Think. The books did make me think. A lot. A lot about a tool I use everyday… git http://git-scm.com. Git is sweet tool. But, the UI could use some love. The UI can be confusing and inconsistent for newbies. In fact, even after three years of using git, there are commands I still find confusin

  • 1