パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

プログラミングでのこだわり」記事へのコメント

  • by oku (4610) on 2004年12月01日 1時34分 (#659907) 日記
    各種 *sh 間での (*csh は別言語なので無視)。

    ... 結構、苦しみだったり。
    # POSIX shell を仮定させてくださ~い... (;_;)

    • by tyuu (9154) on 2004年12月01日 19時31分 (#660221) ホームページ 日記

      csh はプログラムに利用するのは止めましょう。
      理由は「なぜ csh でプログラムを書くのが良くないのか」 [jmas.co.jp] を御覧ください。

      FreeBSD Q&A [freebsd.org] も csh のプログラム利用を推奨していません
      (しかし、例外とする条件が記載されています)。

      親コメント
      • by oku (4610) on 2004年12月03日 1時59分 (#660858) 日記
        csh はプログラムに利用するのは止めましょう。
        理由は「なぜ csh でプログラムを書くのが良くないのか」 [jmas.co.jp] を御覧ください。
        csh で script なんか書くな、というのは Unices の常識だと思うのですが、なぜ未だに「csh で書け。それがここの規約だ」なぞと言う仕事がゴロゴロあるのか... (;_;)

        それはさておき、ここで「移植性」と言っているのは /bin/sh を意図しています。 /bin/sh は A shell (Cygwin) だったり Bourne shell (一昔前までの Unices) だったり bash-1 や bash-2 (GNU/*) だったり pdksh (Windows SFU) だったり Korn shell や POSIX shell (最近の Unices) だったり Z shell (初期の MacOS X?) だったりするわけですが、どこでもそれなりに動くようにするには、まあ、それなりに面倒です。 Bourne shell の機能だけを仮定して書けば大抵は問題ないのですが、上述の「なぜ csh でプログラムを書くのが良くないのか」の最後の方にある通り、

        1003.2 が企業に対して強制力のある真の標準になったとき、状況ははるかに良くなることでしょう。 そのときまで、我々はそこらへんにあるバグあり互換性なしバージョンの sh で悩まされることでしょう。

        という時代の尻尾に私はいるようです。

        そう言えば、最近の HP-UX では、将来 /bin から /usr/bin への symlink をなくすと言っているようです (未確認)。 #!/bin/sh と書けない時代が来るかも知れない、ということなんですかね...。

        参考文献: Various system shells [in-ulm.de]

        親コメント
    • by Anonymous Coward
      >各種 *sh 間での (*csh は別言語なので無視)。

      cshもtcshもHitしてしまいました。残念っ!

      # 流行語大賞記念なのでAC
      • by oku (4610) on 2004年12月03日 1時17分 (#660837) 日記
        cshもtcshもHitしてしまいました。残念っ!
        意図して hit させてます。 csh だろうが tcsh だろうが sh とは似て非なる別言語なので、互換性なぞ考慮しません (そもそも *csh script は書きませんが)。

        # 某氏のソフトウェアの内、最高傑作は vi で最悪の駄作は csh だとおもふ... (フレームの元)

        親コメント

Stay hungry, Stay foolish. -- Steven Paul Jobs

処理中...