6

私はこの質問が親切であることを知っています-過去に始まった「宗教的」戦争であり、正しい答えは1つではないかもしれません。しかし、過去3〜4年間kshとcshを使用し、相互に移植したり、共通のロジックを複数のバージョンに適用したりする(レガシーコードとして読み取る)という苦痛を経験した後、新しいスクリプトを作成している場合は、 kshを選択しますが、選択ではなく強制から外れます。ksh / csh以外のより良いオプションはありますか?また、Unix(Solaris / HP / IBM / FreeBSD)とLinuxの間で移植可能なもの(そして、私があまり質問していない場合、またはすべてのLinuxフレーバーが理にかなっている場合)

提案を待っています...

平和:)DevangKamdar

4

6 に答える 6

9

shどこでも入手できるplain oldをお勧めします。

また、移植性には、シェルだけでなくawk、 、grep、などのスクリプトで使用される他のコマンドも含まれることに注意してpsくださいecho

于 2009-05-19T09:31:06.680 に答える
4

本当に移植可能にしたい場合 (シェルスクリプトが保守可能かどうかはわかりません)、 #!/bin/sh を指定して、ダッシュでテストし、可能であれば他のシェルでテストします。

于 2009-05-19T09:28:12.707 に答える
2

BASH は多くの Linux ディストリビューションのデフォルトであるため、現時点で最も普及しているシェルになると思います (cygwin を使用して Windows で実行することもできますが、おそらく他のシェルにも当てはまります)。別の方法としては、スクリプトにシェル自体を使用せず、perl、python、ruby などのスクリプト言語の 1 つを使用することもできます。

于 2009-05-19T09:33:14.443 に答える
2

私は通常 ksh を使用します。機能と移植性の間の良い妥協点だと思います。ほとんどの Linux ボックスと Solaris に搭載されています (または互換性のあるバージョンが利用可能です)。HP-UX を使用してからしばらく経ちましたが (ありがたいことに)、HP-UX でも利用可能だったことは確かです。

サポートする必要があるすべてのマシンが最新の場合、bash がオプションになる可能性があります。Solaris 10 にはコピーが付属しています。これは、ほとんどの Linux マシンのデフォルトです。

最小公分母は Bourne (sh) になるので、移植性が主な関心事である場合は検討する価値があります。ただし、ksh と bash のより使いやすい機能の一部が欠けています。

スクリプト作成のために csh/tcsh を避けることは、依然として価値があります。有害と見なされる Csh プログラミングは古き良きものですが、依然として大部分は関連性があります。

于 2009-05-19T10:29:30.087 に答える
0

パイソン!拡張された Python インタープリターである iPython を確認してください。また: Python for Unix and Linux System Administration .

優れた移植可能なスクリプトを作成でき、それは楽しいものです。

于 2009-05-19T15:05:52.913 に答える