• ベストアンサー

BシェルとCシェル

Solarisサーバの運用において、シェルでスクリプトを作成する場合、BシェルとCシェルでは、どちらが多く用いられているでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.4

ちょっと補足。 BshかCshかという選択ならBshですが、他の方が言っておられるようにbashなどで書いても構いません。 ・一般ユーザが利用するsetuidしていないスクリプト  shでもbashでもzshでもなんでもよい。  csh系(tcshも)だけはやめた方が無難。 ・setuidしていいるスクリプト  シェルスクリプトはsetuidしないのが安全。  csh系(tcshも)だけはやめときましょう。 ・Solaris以外のOSに移植するかも知れないスクリプト  shかbashで書く。  OSにデフォルトで存在するシェルで書いておいた方が無難。  shはどのOSにもあるが、微妙なところで仕様が違うので要注意。  ただ、Solarisの/bin/shは一番古くて仕様がしょぼいので、  Solarisで動けばよそに持っていっても動くと期待できる。 ・システムのブート段階などで動くスクリプト  基本は/sbin/sh。シェルがスタティックリンクされている必要がある。

bmetr77
質問者

お礼

ありがとうございました。

その他の回答 (3)

  • entree
  • ベストアンサー率55% (405/735)
回答No.3

/etc/init.d を見てみてください。全て B シェルで書かれているのが分かりますね。実際に Solaris に限らず、シェルスクリプトはほとんど B シェルもしくは bash (B シェル系) で書かれています。 C シェルは一般ユーザのログインシェルとしてよく用いられてきましたが (スクリプトを書くときは、一般ユーザでも普通は B シェル)、Solaris でも Solaris 8 から bash がデフォルト・インストールされるようになったため、C シェルを使う機会はますます減ってきていると思います。 あと、予断になりますが、root ユーザのログイン・シェルだけは /sbin/sh から変更してはなりません。

bmetr77
質問者

お礼

ありがとうございました。

回答No.2

 Cシェルが流行っていた頃でも運用管理で利用するシェルはBシェルと言われていました。 最近は、Bシェル系のKSHかBashなどが利用され、Cシェルが余り利用されないのではないでしょうか?

bmetr77
質問者

お礼

ありがとうございました。

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.1

Bシェルです。 Solarisに限らず、シェルスクリプトをCシェルで書いてはいけません。

参考URL:
www.klab.ee.utsunomiya-u.ac.jp/~hiroki/
bmetr77
質問者

お礼

ありがとうございました。

関連するQ&A