いいじまです。

> > でも、Solaris の csh にはカーソルの上下で以前のコマンドを参照したりする
> > 機能はなかったはずですので、tcsh のインストールをお勧めします :-)
> 
> 仕事で使ってるUnixがcsh動かしてるので、しばらくcshで頑張ります。。

tcsh はコマンドラインエディタの機能を除いては完全に csh の上位互換ですから、
tcsh にしちゃっていいと思いますよ。

> /bin/shではできるけど、cshではできない、ということもあるのでしょうか?
> なければルートのシェルもcshにしてしまいたいのですが。。。。

日常業務は csh で大抵間に合います。

が、標準出力と標準エラーを別々のデバイスに書き出す機能、たとえば
        find / -name httpd 1> stdout.txt 2> stderr.txt
というのは csh ではできないので、csh から sh を起動してこのコマンドを打
ち込むか、あるいは私なら
        sh -c 'find / -name httpd 1> stdout.txt 2> stderr.txt'
とします。

もうひとつ、csh 系には「関数定義」という機能が欠けているのですが、これは
まあ小島さんの今の段階では考える必要はないでしょう。私自身も、システム標
準の sh スクリプトをコピペして関数を書くことはたまにあって、これはシステ
ム管理の目的にはいろいろ重宝するのですが、自分のスクリプトで関数を書いた
ことは一度もありません。それで間に合っています。なぜなら、そこまで面倒な
仕事になると Perl に逃げてしまうから。

root のシェルも csh にして特に問題ないと思いますが、/usr が / と別パーテ
ィションになっている場合は、Solaris では csh は /usr/bin/ にあったはずで
すので、「/usr が壊れたので復旧のために root になりたいけど、csh が起動
しない!」というパニックになる可能性がありますから、緊急起動用の CD を常
備しておく程度の対策は必要です。

というわけで、root のシェルは sh のままにしておくのが定石です。
特に、tcsh 使いと bash/zsh 使いの管理人がいる場合には、どちらの贔屓にも
ならないように sh にしたりします。root になってから exec csh と入力して
csh を起動すればそれで事足ります。

すぐ csh が動いてほしい、というのであれば、croot とかいう別のユーザー
(UID は root と同じ 0 にする)を作って、そのシェルを csh にするという方
法があります。Linux だと、bash を使う toor というユーザーが存在していた
りしますよね。

あとは、むやみに root にならないで sudo を使うことも検討しましょう。

・コマンドラインで指定したコマンドひとつだけを root 権限で実行する
・ログが残る
・root パスワード不要で、本人のログインパスワードだけで実行可能できるので、
 root パスワードを大人数で共有する必要がない
・誰それには○○を許可、誰それには××は不許可、という指定ができるので、
 たとえば自分以外のユーザーは shutdown、reboot、mount、umount だけ許可、
 という指定ができる
といった特徴があります。

sudo は Solaris 用のパッケージとして存在しているはずですよ。

========================================================================
飯嶋 浩光 / でるもんた・いいじま   http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta           mailto:delmonta@ht.sakura.ne.jp

───【宣伝/ADVERTISEMENT】──────────────────────
fj.os.ms-windows.server2003 または fj.os.ms-windows.server の新設の可否
を問う投票を実施中です。
fj.news.group.comp をご参照のうえ、ふるってご投票ください。
投票期限は 8/25(月)です。
────────────────────────────────────