トップページunix
430コメント116KB

C shell 撲滅委員会

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
tcsh とかイラネ
0103マイク ◆yrBrqfF1Ew NGNG
C shellってNetBSDとかのデフォルトのあれか?
0104名無しさん@お腹いっぱい。NGNG
それは*BSDの過去の恥部。
0105名無しさん@お腹いっぱい。NGNG
今さら確認して気づいたんだけど、
NetBSDやOpenBSDでは/bin/kshが標準で付いてるんだね。
ちょっとだけ見直した。

csh=tcshとハードリンクされたFreeBSDとはおお違い。
0106名無しさん@お腹いっぱい。NGNG
せっかくだからcshスクリプトを推進しよう。
0107名無しさん@お腹いっぱい。NGNG
Motifなwidgetを持つkshってfreeなのないの?
0108名無しさん@お腹いっぱい。NGNG
cshで大きなスクリプト書くのは色々つらいけど、
配列が使えるとか、拡張子やパス名をいじくるコロン演算とか
便利な機能があるので、ごく短いスクリプトにはよさげ。
0109名無しさん@お腹いっぱい。NGNG
cshの配列使えねー。上限あるのがダサ過ぎ。
shかperlでいいだろ。
0110名無しさん@お腹いっぱい。NGNG
tcsh使っているんだけど、自分で書いたcompleteがあるからだな。
0111名無しさん@お腹いっぱい。NGNG
つーかRubyとかPerlとかPythonがあるのに何が悲しくて古代のcshやshでいまさら
スクリプト作るわけ?

頭おかしいんじゃない?
0112名無しさん@お腹いっぱい。NGNG
csh は同意だが、sh はケースバイケースだろ。
コマンドをいくつか呼び出すだけなら sh が一番記述量が少なくて
すむし、利用リソースも少なくて軽いし。
0113名無しさん@お腹いっぱい。NGNG
cshスクリプト好き好き。
0114名無しさん@お腹いっぱい。NGNG
ときどき 105 みたいな意見を見るが、分かんないなぁ。
いまどきただの csh って、存在価値ある? ないだろ?
スクリプト書くには文法が腐ってて使えないし、
対話的に使うには機能不足だし。

>>103
それは昔の話。今の NetBSD はインストール時に root の
シェルを /bin/sh や /bin/ksh にできるよ。
0115名無しさん@お腹いっぱい。NGNG
csh使う使う
0116名無しさん@お腹いっぱい。NGNG
>>114
それにシングルユーザモードのシェルは、昔から/bin/sh だな。
0117名無しさん@お腹いっぱい。NGNG
>>114,116
ばかだなぁ。
0118名無しさん@お腹いっぱい。NGNG
>>114
欲嫁。
>>105 は、NetBSD等にkshが標準で付いていることを評価しているんだよ。
NetBSDのcshについては言及していない。
一方、FreeBSDで、tcshを標準にしてしまったことを批判している。


>>111
じゃあ、rcスクリプトをperlやpythonで書けよ。/bin/sh使うなよ(w
0119名無しさん@お腹いっぱい。NGNG
>>114の読解力さらしage
0120114NGNG
どうせ csh なんて全く存在価値ない (tcsh なら一応ある) んだから、
FreeBSD のやり方で全然問題ないじゃん… って書いたつもりなんだ
けどなあ。
114は、そうは読めないかね?
0121名無しさん@お腹いっぱい。NGNG
tcshは実装が糞。入力の便利さにかまけて基本がおろそか。
0122名無しさん@お腹いっぱい。NGNG
>>120
今のcshは、tcshとほとんど同じらしいぞ。
0123名無しさん@お腹いっぱい。NGNG
>>120
bashがあればshはいらんと。

ところで"デフォルトシェル"でインストール時のrootのシェルとか言ってる>>114ちゃんなんて!
0124名無しさん@お腹いっぱい。NGNG
>>121
あの… tcsh って csh から派生していて、ソースはかなり共通
なんですけど。
おまけに tcsh の方が、csh に比べれば、まだ多少は言語レベル
のバグが取れてるんですが… 「setenv * foo」とか。
より駄目な方を好むって、いったい…?

>>123
そんなことないでしょ。bash より sh の方が軽いから、スクリプト
の実行に使うには、sh の方がいい。
ところが、csh はスクリプト書くのには使いものにならないから、
存在価値がないってことが、114には書いてあるのよ。
0125名無しさん@お腹いっぱい。NGNG
114 がんばってるなぁ。
0126名無しさん@お腹いっぱい。NGNG
>>124
csh, tcsh、合わせて価値がない。むしろ害があるのみ。

tcshには価値があると言うからtcshを話しただけ。
cshから派生しているのは知っています。tcshにcontrib.したので。
0127名無しさん@お腹いっぱい。NGNG
価値が無いものに何故contiributeなんかしたんだ?
0128名無しさん@お腹いっぱい。NGNG
配布ファイルの、
/root/.profile と /usr/share/skel/dot.profile に、
rm -f /bin/*csh と書いて是非 contribute をお願いします。
0129名無しさん@お腹いっぱい。NGNG
おまえら能書垂れるだけで、どうせヘボスクリプトしか書けないんだろ。
0130名無しさん@お腹いっぱい。NGNG
ごめんなさいちょっと背伸びしてみたかっただけなんです。
ほんとはcshぜんぜん知らないけど批判して通っぽく思われたかったんです。
0131名無しさん@お腹いっぱい。NGNG
玄人こそcsh
0132名無しさん@お腹いっぱい。NGNG
csh を使いたくなければ使わなければいいだけ。
多くの Linux における bash のように、
使いたくなくても使わざるを得ないものの方がずっと迷惑だ。
0133名無しさん@お腹いっぱい。NGNG
「英語のマニュアルを読むにはどうすればいい?」
と質問を受けた時、cshユーザーかも知れないことを考慮して、
env LANG=C man hoge
と説明しなければならないのがウザイ。

また、老害的シス管だと、新規のユーザにアカウントを与える時、
デフォでtcshをログインシェルとして与え、
しかもその組織固有の設定を$HOME/.tcshrcに書いていたりするから、
とってもウザイ。

csh/tcsh撲滅すべし。
0134名無しさん@お腹いっぱい。NGNG
>>132
> 多くの Linux における bash のように、

最近はashがあれば動くものが多いです。
アプリでbash依存のものはありますが。
0135名無しさん@お腹いっぱい。NGNG
>env LANG=C man hoge

LANG=C だけだとシェル変数の設定だけで環境変数にエクスポートされないのに、
LANG=C man hoge だと環境変数に設定されてコマンドが起動されるという非対称性が
気持ち悪いので、sh でも必ず env を使ってます。おれは。
0136名無しさん@お腹いっぱい。NGNG
日記に書け
0137名無しさん@お腹いっぱい。NGNG
次スレ

「UNIX撲滅委員会」
0138名無しさん@お腹いっぱい。NGNG
>>127
好きな子がcsh使いだったので(ポ
0139名無しさん@お腹いっぱい。NGNG
情報系の仕事してると、F系もN系も何故か苦労してcshスクリプトを
書いてて頭が痛い。

cshスクリプトの中でsh -cなんてするくらいなら最初からsh使えよ…
と思うのだけど、「基盤はsh、業務はcsh」とか訳わからん事言うし。
(他に影響出さない部分は無視してshで書いてるけど)

まぁ最初に作った奴の流用してるからってのもあるんだろうが、いい
加減負の遺産はこれ以上増やさないでくれ…
0140名無しさん@お腹いっぱい。NGNG
>>139
馬鹿?
0141名無しさん@お腹いっぱい。NGNG
tcshに「うぐぅ」とか「ほぇ〜」とか言わせるのが厨の使い方だろ。
0142名無しさん@お腹いっぱい。NGNG
>>141
玄人の使い方だろ?厨は犬使うからbashが基本だ。
ちょっといい気になるとzshなんて使い始めるぞ。
それに今更tcsh使いはじめる香具師なんて多くはないだろ。
「うぐぅ」とか「ほぇ〜」とか言わせてるのは、ごく一部だろうが
犬使いは、そう言うのバカにしそうだしなw
0143名無しさん@お腹いっぱい。NGNG
馬鹿だからこそ、tcshなんて疑いもなく使いはじめるわけでして。
0144名無しさん@お腹いっぱい。NGNG
cshのオリジナルカタログ作るぞゴルァ
http://cocoa.2ch.net/unix/kako/983/983511529.html
0145さゆPさん ◆SayuminPM. NGNG
zsh 使いだけど「〜なの」とか言わせてみたい
0146名無しさん@お腹いっぱい。NGNG
↑あんたどっかのスレですさまじいプロンプト設定してなかった?
0147名無しさん@お腹いっぱい。2005/08/18(木) 02:48:18
遊びでやってる人は好きなの選べていいね。
仕事でやってるとなんでも使えないとやってけない。
0148名無しさん@お腹いっぱい。2005/08/18(木) 03:33:04
さゆPさん、どうしてるかな。
0149名無しさん@お腹いっぱい。2005/10/07(金) 23:54:39
(t)csh残さなきゃいけない理由なんてある?
老人ユーザの介護用以外で。
0150名無しさん@お腹いっぱい。2005/10/08(土) 00:36:18
マジレスすると、他にまともなシェルが無いから。
0151名無しさん@お腹いっぱい。2005/10/08(土) 01:05:40
馬首なんかのたぶ補完より、ヒストリ出して ^a^b やってるほうがなんか安心。
0152名無しさん@お腹いっぱい。2005/10/09(日) 21:14:16
She sells C-shell on the sea shore
0153名無しさん@お腹いっぱい。2005/10/09(日) 21:24:04
>>152
She sells C-shell "at" the sea shore が正しい。
元ネタは sea-shells
ネタ間違えるとカコワルイ。
しかもどっかでがいしゅつ。
0154名無しさん@お腹いっぱい。2005/10/09(日) 22:56:35
>>153
マジレスすると元ネタにatもonもbyのバージョンもあるよ。
そのへんにこだわるのは日本人だけ。
0155名無しさん@お腹いっぱい。2005/10/10(月) 02:27:48
ある企業で、

#!/usr/bin/csh
sh -c ` XXXX 1> /dev/null 2>log`

。。。 スクリプトで csh を使うメリットってあるの?
関数もないのになぜ「C」を名乗ってるんだ?
0156名無しさん@お腹いっぱい。2005/10/10(月) 14:41:26
UNIX+CShell+C というスキームだから。

スクリプトしか書けない奴なんて使うこと想定してないだろ。
0157名無しさん@お腹いっぱい。2005/10/10(月) 14:42:45
シェルスクリプトとシェルの話が混ざってないか

ログインシェルはダイナミックリンクをしてなければ何でもいいんじゃないのか。
シェルスクリプトは"sh -c"をしないで動けば何でもいいのでは。

純粋なcshがどの場面でも使えないのは同意だけどね。
といいつつtcshマンセー
0158名無しさん@お腹いっぱい。2005/10/10(月) 15:19:18
>純粋なcshがどの場面でも使えないのは同意だけどね。

今ではあまりないけれど、sh と csh しかないような環境では
ファイル名の補完ができるというだけでも有用。
# set filec して ESC で補完。
0159名無しさん@お腹いっぱい。2005/10/10(月) 15:32:08
>>157
> ログインシェルはダイナミックリンクをしてなければ何でもいいんじゃないのか。

そんな限定が付くのはrootだけで十分だろ。
0160名無しさん@お腹いっぱい。2005/10/10(月) 17:05:50
>>158
補完ができればよいという理由ならbashでも同じこと。

少しでもシェルスクリプトを書いたことがある者なら、
スクリプトとコマンドラインの仕様が違うのはイラつく。
だから(t)csh系はイラね。
0161名無しさん@お腹いっぱい。2005/10/10(月) 17:37:24
>>160
UNIXとその周辺は、ほとんどすべてその種の不統一があると思うけどね。
Windowsはそういうところはマシなんじゃね?
だからって撲滅はやめてほしーね。黙ってなんとかするのがプロってもんだろ。

0162名無しさん@お腹いっぱい。2005/10/10(月) 17:53:18
>>161
論点がずれてる。
スクリプトとコマンドラインで同じシェルを使えば済むこと。
スクリプトではcshは糞というのが、異論のない結論。
なぜわざわざコマンドラインだけcshを使うのか、理解できん。
初心者が間違えてcshを使い始めないようにするためにも、撲滅は必要。
0163名無しさん@お腹いっぱい。2005/10/10(月) 17:54:32
>スクリプトとコマンドラインの仕様が違うのはイラつく。
イラつかない。
0164名無しさん@お腹いっぱい。2005/10/10(月) 17:55:53
>>162
FreeBSDもdefault login shellをtcshってのは辞めたんでしょ。
必然的に死滅していくと思われ
0165名無しさん@お腹いっぱい。2005/10/10(月) 18:04:42
>>164
>FreeBSDもdefault login shellをtcshってのは辞めたんでしょ。
ソース希盆。バージョンは? 6.0から?
0166名無しさん@お腹いっぱい。2005/10/10(月) 22:20:19
>>160
sh と csh しかない環境の話で bash を出されても。
ときどき触らざるを得ない。勝手にインストールできないし。
そういうときは sh よりはマシという理由で自分も csh 起動。
0167名無しさん@お腹いっぱい。2005/10/10(月) 22:46:46
>>166
ハァ?
cshで補完はできないよ。
「補完ができる」のはtcsh。
で、tcshを持ち出すならbashでも同じことだろ、と言ってるんだろ。
0168名無しさん@お腹いっぱい。2005/10/10(月) 22:50:14
いや、new cshはset filecで補完できる。
俺は10年くらい前にUltrixで使ったことがある。
0169名無しさん@お腹いっぱい。2005/10/10(月) 22:54:43
tcsh tcsh .............


TCS! ..........TCS w



tcsh → 東京コンピューターサービス エッチ
0170名無しさん@お腹いっぱい。2005/10/10(月) 22:59:20
kshは?
0171名無しさん@お腹いっぱい。2005/10/10(月) 23:06:02
そうそう、set filec して ESC で補完。TAB と間違えて面倒なときも
あるけどまあ補完できた方が楽だね。
0172名無しさん@お腹いっぱい。2005/10/10(月) 23:33:47
たまに ESC 連打してる奴見かけるね。
ESC はキー位置が遠いから力が入るのだろうか、打鍵音が鳴り響く。

vi 使いは、「カタカタカタカタカタカタ、っポン、カタタ」てな感じだが、
csh 使いは「カタカタカタ、っポン、ポンポンポン、カタカタ」って感じ。
0173名無しさん@お腹いっぱい。2005/10/10(月) 23:39:33
bash tcsh zsh使いは商用機にそんなもの勝手に入れられないから
シェル・シェルスクリプトどちらでもsh csh kshは一通り使えるようにした方がいいと思う。
set filecはsh/cshしかなかった環境では非常にありがたかった。

もう博物館に行ってもらって現場にはあまり出てきてほしくないけどね。
0174名無しさん@お腹いっぱい。2005/10/10(月) 23:44:55
純cshにも(旧式の)補完機能があったとは知らなかった。
純cshは、Ctrl-P/Nによるヒストリーが使えないから、
!!で直前コマンドとか、
historyコマンド打ってから!ヒストリ番号とか
そんなことしか覚えてない。
0175名無しさん@お腹いっぱい。2005/10/10(月) 23:48:57
sh/cshしかない商用UNIXでは、俺はsh使うなぁ。
ヒストリーだの補完だの、ヤワなものはもともとあまり使わないし、
やはり、cshだとシェルスクリプトと文法が違う違和感の方が大きい。
for i in ... とか日常茶飯事で直接コマンドラインに打つから、
cshよりも素の/bin/shの方が使いやすい。マジで。
0176名無しさん@お腹いっぱい。2005/10/10(月) 23:56:46
>175
それだと端末速度が遅いときイライラしないかい。
設置位置とセキュリティ対策と予算でEther経由でログイン出来ず
9600bpsでDOSのターミナルソフトでコピペも出来ないうちは
ファイル保管重宝してるよ。
for in ..はshの方が使いやすいね。
0177名無しさん@お腹いっぱい。2005/10/11(火) 01:10:41
使いやすいってのは単なる主観だね。
別にどうでもいいけど、俺はcshが使いやすい。
シェルはプログラムだ。
機能の違うプログラム。同じような、だけど微妙に異なる
機能を果たすプログラム。
こういう議論は富士山へ上るルートのどれが一番か
、舞姫と猫のどっちが好きかってのと同類の議論。
0178名無しさん@お腹いっぱい。2005/10/11(火) 01:11:50
>>177
じぶんのせかいにとじこもらないでー
0179名無しさん@お腹いっぱい。2005/10/11(火) 01:13:39
>>177
俺も俺も。
0180名無しさん@お腹いっぱい。2005/10/11(火) 02:47:56
bashと聞くと板違いだと思う私はtcshをどうしても手放せない。
補完だけが目的。スクリプトを書くならさっさとshで書いちゃうし。
0181名無しさん@お腹いっぱい。2005/10/11(火) 03:34:07
そんな貴方に zsh
0182名無しさん@お腹いっぱい。2005/10/11(火) 04:34:38
たしかに補完だけが目的なら zsh 最強
まだ tcsh なんて使っちゃってるんですが、っていう感じ
0183名無しさん@お腹いっぱい。2005/10/11(火) 04:55:44
粘るか他に切り替えるかの閾値がとても低くなるので楽です。
0184名無しさん@お腹いっぱい。2005/10/11(火) 09:34:41
>>180
> bashと聞くと板違いだと思う

アホ?

0185名無しさん@お腹いっぱい。2005/10/11(火) 09:50:00
そういう人は居るよ。アホじゃないけど。
0186名無しさん@お腹いっぱい。2005/10/11(火) 10:01:53
そんなにたくさんアホがいるのですか。怖いですね。
0187名無しさん@お腹いっぱい。2005/10/11(火) 18:39:42
FreeBSD 5.xの/bin/shって、いつのまにか、
コマンドライン編集機能とヒストリに対応してるね。
これで益々csh/tcshの存在意義がなくなるね。
0188名無しさん@お腹いっぱい。2005/10/11(火) 18:52:50
>>187
なんで?ならないよ。
0189名無しさん@お腹いっぱい。2005/10/11(火) 22:28:24
>>188
できるよ。やってみろ。
0190名無しさん@お腹いっぱい。2005/10/11(火) 22:31:33
>存在意義がなくなるね。

>ならないよ。

>できるよ。
0191名無しさん@お腹いっぱい。2005/10/11(火) 23:08:48
「なくなるね」に反応するなら「なくならないよ」と書くはず。
「ならないよ」と書いてるから違うだろ。

「なんで(どうしてだ=自問)?(コマンド編集できるように)ならないよ」
と言ってると思われ。
01921882005/10/11(火) 23:46:47
いえ、(なく)ならないよという意味で使っている(
アンカー付けて自問するほどアレじゃないし
(コマンド編集できるように)ならないと書きたいなら
(対応)してないよと書くはず)よ?
0193名無しさん@お腹いっぱい。2005/10/12(水) 00:58:33
馬鹿は馬鹿らしく素直が一番。
0194名無しさん@お腹いっぱい。2005/10/12(水) 01:27:04
>>191
(君が)馬鹿って言われてる(んだ)よ。酷いね。
0195名無しさん@お腹いっぱい。2005/10/12(水) 04:06:28
単に便利だからというなら、どうしてUNIXなんか使ってるんだろう(笑
0196名無しさん@お腹いっぱい。2005/10/12(水) 07:13:23
>>192
「なくなる」は、これで1語の動詞。
「なくな・る」(ラ行五段自)「なくな(語幹)」+「る(語尾)」
であって、決して、
「なく(形容詞「ない」の連用形)」+「なる(動詞)」
ではない。

よって、「なくなる」に対して、「ならない」と受けるのは誤り。
「なく」は形容詞の連用形じゃなく、「なくなる」の動詞の語幹の一部だから、
「なく」だけを省略できない。
「なくなる」を否定するなら「なくならない」とすべき。
0197名無しさん@お腹いっぱい。2005/10/12(水) 11:44:29
>>187
そんなことは良いから、なんで?なくならないよ。
0198名無しさん@お腹いっぱい。2005/10/12(水) 11:48:30
うむ。やっぱり「ならないよ」で良いや。
0199名無しさん@お腹いっぱい。2005/10/12(水) 11:59:23
/bin/shが「シェルスクリプト専用」との位置付けなら、
/bin/shに「インタラクティブな」機能を追加するはずがない。
それが追加されたということは、FreeBSDの中の人にも
csh(tcsh)をやめようという空気があるのは確かだろう。
0200名無しさん@お腹いっぱい。2005/10/12(水) 12:21:21
>>199
あれって追加されたのか?グランドデザイン時点で
入ってるだろ。
やめる空気があってもいいけれど(やだけど^^;)、
問題は過去の資産をどうするかだな。
自分が使わない余分なシェル、じゃなくて、他人の
使っているアプリだと考えるとどうかな?
資産の中にはBJの思想も含まれるわけだけどな。
0201名無しさん@お腹いっぱい。2005/10/12(水) 12:25:02
>>199
釣りなら釣り、マジならマジで最後まで通せよ。
中途半端な(ことしかできない)奴だな。

何故こんなことを書くかと言うと>>199 には
おかしな(笑えると言う意味で)点が 5ヶ所はあるからだ。
0202名無しさん@お腹いっぱい。2005/10/12(水) 12:40:59
>>200
FreeBSD 4.xのshではできなくて5.xでできるから、追加されたんじゃないの?
0203名無しさん@お腹いっぱい。2005/10/12(水) 12:47:13
BJの思想はviとかだけでいい。
cshは負の遺産だ。
■ このスレッドは過去ログ倉庫に格納されています