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

C shell 撲滅委員会

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
tcsh とかイラネ
0042名無しさん@お腹いっぱい。NGNG
>>41
間違いなく撲滅対象だね.
0043名無しさん@お腹いっぱい。NGNG
つか、誰かbashをベースにしてCの構文で書けるシェルを作る奴はいないのか?
0044名無しさん@お腹いっぱい。NGNG
Cの構文で書けてもうれしくともなんともない。
0045名無しさん@お腹いっぱい。NGNG
せめてPHP
004643NGNG
>>45
俺PHPは嫌いだから、それだけは許さん。
004744NGNG
>>45
俺も許さん。
0048名無しさん@お腹いっぱい。NGNG
じゃ、せめてHSP
0049名無しさん@お腹いっぱい。NGNG
アニメやゲームのキャラが好きならtcsh
オリジナルカタログでいつでも逢える。
0050名無しさん@お腹いっぱい。NGNG
>>49見てzshに乗り換えたくなった
0051名無しさん@お腹いっぱい。NGNG
theoやdjbが好きならtcsh
オリジナルカタログでいつでも逢える。
0052名無しさん@お腹いっぱい。NGNG
>>51見て切実にzshに乗り換えたくなった
0053名無しさん@お腹いっぱい。NGNG
#!/bin/zsh
for ((i = 0; i <= 3; i++)) {
if (( i )) {
print $i is not zero
} else {
print $i is zero
}
}
#工エエェェ(´д`)ェェエエ工
0054名無しさん@お腹いっぱい。NGNG
ぬるぽ
0055名無しさん@お腹いっぱい。NGNG
>>53
なんかもんだいあるの?
0 is zero
1 is not zero
2 is not zero
3 is not zero
あってんじゃん。
0056名無しさん@お腹いっぱい。NGNG
こんな書き方を許す辺りが問題有る気がする.
0057名無しさん@お腹いっぱい。NGNG
どうして?
i が 0だったら未定義値なんだから 評価したら undefでしょ?
else loopで処理することに何か問題が?
0058名無しさん@お腹いっぱい。NGNG
for ((;;))はbashにもある。
0059名無しさん@お腹いっぱい。NGNG
zsh は知らんのだが、i と $i が混在してるのはいいのか?
0060名無しさん@お腹いっぱい。NGNG
それがarithmetic evaluation

bash$ echo $[ x = 7, y = 3, x * y ]
21
0061名無しさん@お腹いっぱい。NGNG
bashやzshよりもはやく日本語に対応した
んだっけ?
0062名無しさん@お腹いっぱい。NGNG
>>22は、viとemacsと両方撲滅して、catでも使うつもりか?
0063名無しさん@お腹いっぱい。NGNG
autoload -U compinit
compinit -i
zstyle ':completion:*' menu select=1
zstyle '*' hosts $hosts
zstyle ':completion:*::::' completer _expand _complete _ignored _approximate
zstyle ':completion:*' verbose yes
zstyle ':completion:*:descriptions' format '%B%d%b'
zstyle ':completion:*:messages' format '%d'
zstyle ':completion:*:warnings' format 'No matches for: %d'
zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
zstyle ':completion:*:functions' ignored-patterns '_*'
0064名無しさん@お腹いっぱい。NGNG
Solaris が tcsh をバンドルしているのが悪い。
TAB 押して補完しか使えないくせに、tcsh にこだわる
香具師が多くてウザい。
0065名無しさん@お腹いっぱい。NGNG
シェルスクリプト自体撲滅きぼんぬ
0066名無しさん@お腹いっぱい。NGNG
FreeBSDは今でも糞tcshがdefault shellなのか?
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に「うぐぅ」とか「ほぇ〜」とか言わせるのが厨の使い方だろ。
■ このスレッドは過去ログ倉庫に格納されています