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

C shell 撲滅委員会

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
tcsh とかイラネ
0067名無しさん@お腹いっぱい。NGNG
シェルスクリプトは sh で、あとは各自
好きなの使えば良いんじゃないの ?
0068名無しさん@お腹いっぱい。NGNG
>>66
インストーラでユーザ追加すると、デフォルトのシェルは/bin/sh になってるけど。
まぁ root のシェルは /bin/csh なんだけどね。
0069名無しさん@お腹いっぱい。NGNG
ログインシェルをemacsにしよう。
0070名無しさん@お腹いっぱい。NGNG
scsh をログインシェルにするのもいいと思う
0071名無しさん@お腹いっぱい。NGNG
scsh 大好きっしゅ
0072名無しさん@お腹いっぱい。NGNG
false でいいんじゃね?
0073名無しさん@お腹いっぱい。NGNG
さいきんのおすすめはshutdown
0074名無しさん@お腹いっぱい。NGNG
shutdown(8)とshutdown(2)って名前が似てるけど
やることはだいぶ違う...
0075名無しさん@お腹いっぱい。NGNG
shutdown(2)ってソケットの香具師じゃないか。
俺はこんなの使わずにclose(2)してますが、何か?
つーか、この文脈でshutdown(2)は普通出てこないだろ。

本題に戻す。
cshは撲滅すべし。
0076名無しさん@お腹いっぱい。NGNG
csh がなくなると djb 厨が困るでしょう。
0077名無しさん@お腹いっぱい。NGNG
シェルスクリプトは sh で書く。
あとはそれぞれ好きなの使う。
それでいいだろが。
なぜに厨だの房だのと ?
0078名無しさん@お腹いっぱい。NGNG
客先で使う手順書に「補完がしたい」からって
わざわざ

# tcsh

と、書くのはやめてほしい。
恥ずかしい
0079名無しさん@お腹いっぱい。NGNG
(t|)csh 推す人がいないと盛り上がらんね。
0080名無しさん@お腹いっぱい。NGNG
>>75
> 俺はこんなの使わずにclose(2)してますが、何か?

まぬけですね。
0081名無しさん@お腹いっぱい。NGNG
>>78
set filec すれば tcsh じゃない csh でもファイル名補完は可能。
ただし TAB じゃなくて ESC。
大昔ならともかく今となっては無用の知識だが。

>>79
>(t|)csh 推す人がいないと盛り上がらんね。

正規表現で書くなら t?csh と書くほうがふつーじゃない?
0082名無しさん@お腹いっぱい。NGNG
それりゃ拡張正規表現です。
http://www.opengroup.org/onlinepubs/007908799/xbd/re.html#tag_007_003
0083名無しさん@お腹いっぱい。NGNG
単独(:なし) >
も、

>&-
も、使えないらしい。
0084名無しさん@お腹いっぱい。NGNG
: のない > が使えるのは sh だけ。zsh ではまったく別の動作になる。
sh の動作の方が例外。
0085名無しさん@お腹いっぱい。NGNG
ぼくめつしないとこまるほど、スタンダードではないので
% sh
$
で解決
0086名無しさん@お腹いっぱい。NGNG
>>84
: のない > がまったく別の動作になるのは、zsh だけ。
sh ksh bash ash等、すべて : のない > が使えるのが標準。

中途半端に cshかぶれした zsh の動作の方が例外。
0087名無しさん@お腹いっぱい。NGNG
>中途半端に cshかぶれした zsh の動作の方が例外。

csh と zsh で違う挙動するけど。
0088名無しさん@お腹いっぱい。NGNG
恥ずかしい>>86!! 恥ずかしい>>86!!
0089名無しさん@お腹いっぱい。NGNG
tcshなんてうんこ
0090名無しさん@お腹いっぱい。NGNG
個人的にシェルで使うならまだしも、
c-shellでスクリプト書くやつはキテガイに違いない。
0091名無しさん@お腹いっぱい。NGNG
tcsh, zshは、便利なものを実装する意欲はあるけど、
仕様を考えるのは下手な人が作ったね。
cshはその辺のバランスはまあまあ良かった。
0092名無しさん@お腹いっぱい。NGNG
よし!じゃぁみんなでKShell使おう!
0093名無しさん@お腹いっぱい。NGNG
>>91
過去形だからもうイランね。
0094名無しさん@お腹いっぱい。NGNG
csh の仕様のバランスがいいなんて、気違いの言いグサとしか
思えない。if 文の仕様だけみてもグタグタ。
0095名無しさん@お腹いっぱい。NGNG
cshは良いよ。素敵だ。
0096名無しさん@お腹いっぱい。NGNG
>>94
文法はアレなんだけど、(.login, .cshrcも)
ジョブコンのカーネル側の新規設計をポイント加算した。
ビル女医偉大なり。
0097それからNGNG
>>94
仕様と実装のバランス。
0098名無しさん@お腹いっぱい。NGNG
sh をインタラクティブシェルとして使う人がほとんどいないように、
csh をスクリプト記述用のシェルとして使わないだけ。
主たる使用目的が違うだけだと思うでよ。
スクリプトを書くのに csh を使うのはアホだが、
ログインシェルに使うのがアホだとは思わん。
歴史が古いだけにインタラクティブシェルとしても後発に追い越されてるのは事実だが。
0099名無しさん@お腹いっぱい。NGNG
C風の文法にしてプログラミングしやすくする意図があったべよ。
0100名無しさん@お腹いっぱい。NGNG


どこがCだw
それにcshでプログラミングするやつなんてこの世にいない
おれが殴ってやる
そもそもいまだにshなんて強要するUNIX使うなんて正気じゃない
全員病院逝け

0101名無しさん@お腹いっぱい。NGNG
>全員病院逝け

激しく同意
0102名無しさん@お腹いっぱい。NGNG







全員病院逝け







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 起動。
■ このスレッドは過去ログ倉庫に格納されています