1 :
名無しさん@お腹いっぱい。 :
04/09/01 21:21 tcsh とかイラネ
じゃあzshで統一する? いまさらbashで統一はないだろうしw ライセンスの問題もあるけど。
tcshしか使い方わかんねーYO!!
zshしか使い方わかんねーYO!!
sh以外いらねーYO!!
>>5 ホントかよ?
バグってる csh とか使いづらいだけの ksh とか、もう全部駆逐ようぜ。
スクリプトは sh、操作は zsh、これ。
何でもかんでも csh でやろうとするジジィどもはチネ!
zshなんか重くて使えねーYO!!
Perlってログインシェルとして使えないの?
ish さいこー
10 :
名無しさん@お腹いっぱい。 :04/09/02 07:55
csh死ね
zsh 使うくらいなら Windows コマンドプロンプト のほうが100倍マシ(プッ
FreeBSDのcshの正体はtcshだよね? 本当のcshをまだ使ってる人いるの?
15 :
名無しさん@お腹いっぱい。 :04/09/02 10:40
わたしはbashですが
わたしはipythonですが
cshねぇ〜。ま、ほっといても僕滅するんじゃない。 つーか、今時(t)cshをログインシェルにしてる香具師なんて居るの? 居るとすれば、むかしまだcsh系が優勢だった頃に 初めてUNIXアカウントもらったユーザーくらいかな。 どっちかっつーと*BSD系ユーザーでしょう。 bashがLinux色が強くて拒否反応するような香具師も、 zshとか使ってるわけでしょ。
18 :
名無しさん@お腹いっぱい。 :04/09/02 14:52
>>17 csh 好きなのは商用UNIXの人でしょ。
撲滅総合スレでも作れよ
現在の撲滅対象リスト {GNU,X}Emacs (t)csh vi Solaris Java R.M.S.
IRIX使いなのでcsh以外必要ありません。
今夜は彼女とcsh
やっぱりshellといえばsshでしょ
おしぇるカンケイ
BSDユーザのシェル人気投票とかやったことあるのかな?
27 :
名無しさん@お腹いっぱい。 :04/09/02 21:08
◆BSDユーザのシェル人気投票結果◆(中間発表) bush<csh<ish<ipython<sh<ssh<tcsh<bash<zsh<彼女とcsh
29 :
名無しさん@お腹いっぱい。 :04/09/05 15:25
>>12 本当かどうか解りませんが、知合いに44bsd-cshを使っている人がいます。
30 :
名無しさん@お腹いっぱい。 :04/09/05 15:26
>>12 本当のcsh、というのが何をさしているのか解りませんが、
知合いに44bsd-cshを使っている人がいます。
作者さえ放り捨てて顧みなくなってしまったソフトウェアに未来はない
ashとzshしかいらん 中途半端なbashこそ撲滅しる!
33 :
名無しさん@お腹いっぱい。 :04/09/05 19:22
ash ash ash
zsh しかいらない. sh は zsh の シンボリックリンク.
>>34 zshはshと非互換な部分があるから、
シンボリックリンクにしてしまうと
普通のシェルスクリプトがまともに動かなくなる。
bashだと問題ない、つか犬が実際にやってるけど・・
それよりここはtcsh/csh撲滅スレ。
zshの話はよそでよろしこ。
cshで > /dev/null 2>&1 ってどう書くんですか?
まさかcshでシェルスクリプト書いてる香具師はいないよな
sh -c 'echo hoge > /dev/null 2>&1'
>>36 マジレスするけど、cshでも
echo hoge >& /dev/null
とは書ける。書けないのは、
echo hoge > file1 2> file2
cshでシェルスクリプトを書かない、というのは
もう結論が出ている常識で、そうでなくて、
コマンドラインでも
cshを撲滅しよう、
というのがこのスレの趣旨じゃないのかな。
stderr, stdout両方を同じところに吐く % command >& file 別々に吐くにはサブシェルを使うしかなく、 % (command > out) >& err とする。内側でstdoutを全部食うので、外側の >& には stderr だけが残るわけだ。
つか、誰かbashをベースにしてCの構文で書けるシェルを作る奴はいないのか?
Cの構文で書けてもうれしくともなんともない。
せめてPHP
>>45 俺PHPは嫌いだから、それだけは許さん。
じゃ、せめてHSP
アニメやゲームのキャラが好きならtcsh オリジナルカタログでいつでも逢える。
theoやdjbが好きならtcsh オリジナルカタログでいつでも逢える。
53 :
名無しさん@お腹いっぱい。 :04/09/07 21:14
#!/bin/zsh for ((i = 0; i <= 3; i++)) { if (( i )) { print $i is not zero } else { print $i is zero } } #工エエェェ(´д`)ェェエエ工
54 :
名無しさん@お腹いっぱい。 :04/09/07 21:36
ぬるぽ
>>53 なんかもんだいあるの?
0 is zero
1 is not zero
2 is not zero
3 is not zero
あってんじゃん。
こんな書き方を許す辺りが問題有る気がする.
どうして? i が 0だったら未定義値なんだから 評価したら undefでしょ? else loopで処理することに何か問題が?
58 :
名無しさん@お腹いっぱい。 :04/09/08 00:36
for ((;;))はbashにもある。
zsh は知らんのだが、i と $i が混在してるのはいいのか?
それがarithmetic evaluation bash$ echo $[ x = 7, y = 3, x * y ] 21
bashやzshよりもはやく日本語に対応した んだっけ?
62 :
名無しさん@お腹いっぱい。 :04/09/08 13:24
>>22 は、viとemacsと両方撲滅して、catでも使うつもりか?
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 '_*'
64 :
名無しさん@お腹いっぱい。 :04/09/25 22:32:18
Solaris が tcsh をバンドルしているのが悪い。 TAB 押して補完しか使えないくせに、tcsh にこだわる 香具師が多くてウザい。
シェルスクリプト自体撲滅きぼんぬ
FreeBSDは今でも糞tcshがdefault shellなのか?
シェルスクリプトは sh で、あとは各自 好きなの使えば良いんじゃないの ?
>>66 インストーラでユーザ追加すると、デフォルトのシェルは/bin/sh になってるけど。
まぁ root のシェルは /bin/csh なんだけどね。
69 :
名無しさん@お腹いっぱい。 :04/09/26 20:19:51
ログインシェルをemacsにしよう。
70 :
名無しさん@お腹いっぱい。 :04/09/26 20:36:57
scsh をログインシェルにするのもいいと思う
scsh 大好きっしゅ
false でいいんじゃね?
73 :
名無しさん@お腹いっぱい。 :04/09/28 20:48:17
さいきんのおすすめはshutdown
74 :
名無しさん@お腹いっぱい。 :04/09/28 22:13:38
shutdown(8)とshutdown(2)って名前が似てるけど やることはだいぶ違う...
shutdown(2)ってソケットの香具師じゃないか。 俺はこんなの使わずにclose(2)してますが、何か? つーか、この文脈でshutdown(2)は普通出てこないだろ。 本題に戻す。 cshは撲滅すべし。
csh がなくなると djb 厨が困るでしょう。
シェルスクリプトは sh で書く。 あとはそれぞれ好きなの使う。 それでいいだろが。 なぜに厨だの房だのと ?
客先で使う手順書に「補完がしたい」からって わざわざ # tcsh と、書くのはやめてほしい。 恥ずかしい
(t|)csh 推す人がいないと盛り上がらんね。
>>75 > 俺はこんなの使わずにclose(2)してますが、何か?
まぬけですね。
>>78 set filec すれば tcsh じゃない csh でもファイル名補完は可能。
ただし TAB じゃなくて ESC。
大昔ならともかく今となっては無用の知識だが。
>>79 >(t|)csh 推す人がいないと盛り上がらんね。
正規表現で書くなら t?csh と書くほうがふつーじゃない?
単独(:なし) > も、 >&- も、使えないらしい。
: のない > が使えるのは sh だけ。zsh ではまったく別の動作になる。 sh の動作の方が例外。
ぼくめつしないとこまるほど、スタンダードではないので % sh $ で解決
>>84 : のない > がまったく別の動作になるのは、zsh だけ。
sh ksh bash ash等、すべて : のない > が使えるのが標準。
中途半端に cshかぶれした zsh の動作の方が例外。
>中途半端に cshかぶれした zsh の動作の方が例外。 csh と zsh で違う挙動するけど。
88 :
名無しさん@お腹いっぱい。 :04/12/23 11:24:41
89 :
名無しさん@お腹いっぱい。 :04/12/23 23:34:52
tcshなんてうんこ
個人的にシェルで使うならまだしも、 c-shellでスクリプト書くやつはキテガイに違いない。
tcsh, zshは、便利なものを実装する意欲はあるけど、 仕様を考えるのは下手な人が作ったね。 cshはその辺のバランスはまあまあ良かった。
92 :
名無しさん@お腹いっぱい。 :04/12/23 23:47:40
よし!じゃぁみんなでKShell使おう!
csh の仕様のバランスがいいなんて、気違いの言いグサとしか 思えない。if 文の仕様だけみてもグタグタ。
cshは良いよ。素敵だ。
>>94 文法はアレなんだけど、(.login, .cshrcも)
ジョブコンのカーネル側の新規設計をポイント加算した。
ビル女医偉大なり。
sh をインタラクティブシェルとして使う人がほとんどいないように、 csh をスクリプト記述用のシェルとして使わないだけ。 主たる使用目的が違うだけだと思うでよ。 スクリプトを書くのに csh を使うのはアホだが、 ログインシェルに使うのがアホだとは思わん。 歴史が古いだけにインタラクティブシェルとしても後発に追い越されてるのは事実だが。
C風の文法にしてプログラミングしやすくする意図があったべよ。
どこがCだw それにcshでプログラミングするやつなんてこの世にいない おれが殴ってやる そもそもいまだにshなんて強要するUNIX使うなんて正気じゃない 全員病院逝け
>全員病院逝け 激しく同意
102 :
名無しさん@お腹いっぱい。 :04/12/27 16:15:03
全員病院逝け
C shellってNetBSDとかのデフォルトのあれか?
それは*BSDの過去の恥部。
今さら確認して気づいたんだけど、 NetBSDやOpenBSDでは/bin/kshが標準で付いてるんだね。 ちょっとだけ見直した。 csh=tcshとハードリンクされたFreeBSDとはおお違い。
せっかくだからcshスクリプトを推進しよう。
Motifなwidgetを持つkshってfreeなのないの?
cshで大きなスクリプト書くのは色々つらいけど、 配列が使えるとか、拡張子やパス名をいじくるコロン演算とか 便利な機能があるので、ごく短いスクリプトにはよさげ。
cshの配列使えねー。上限あるのがダサ過ぎ。 shかperlでいいだろ。
tcsh使っているんだけど、自分で書いたcompleteがあるからだな。
111 :
名無しさん@お腹いっぱい。 :04/12/28 23:30:30
つーかRubyとかPerlとかPythonがあるのに何が悲しくて古代のcshやshでいまさら スクリプト作るわけ? 頭おかしいんじゃない?
csh は同意だが、sh はケースバイケースだろ。 コマンドをいくつか呼び出すだけなら sh が一番記述量が少なくて すむし、利用リソースも少なくて軽いし。
cshスクリプト好き好き。
ときどき 105 みたいな意見を見るが、分かんないなぁ。
いまどきただの csh って、存在価値ある? ないだろ?
スクリプト書くには文法が腐ってて使えないし、
対話的に使うには機能不足だし。
>>103 それは昔の話。今の NetBSD はインストール時に root の
シェルを /bin/sh や /bin/ksh にできるよ。
csh使う使う
>>114 それにシングルユーザモードのシェルは、昔から/bin/sh だな。
>>114 欲嫁。
>>105 は、NetBSD等にkshが標準で付いていることを評価しているんだよ。
NetBSDのcshについては言及していない。
一方、FreeBSDで、tcshを標準にしてしまったことを批判している。
>>111 じゃあ、rcスクリプトをperlやpythonで書けよ。/bin/sh使うなよ(w
どうせ csh なんて全く存在価値ない (tcsh なら一応ある) んだから、 FreeBSD のやり方で全然問題ないじゃん… って書いたつもりなんだ けどなあ。 114は、そうは読めないかね?
tcshは実装が糞。入力の便利さにかまけて基本がおろそか。
>>120 今のcshは、tcshとほとんど同じらしいぞ。
>>120 bashがあればshはいらんと。
ところで"デフォルトシェル"でインストール時のrootのシェルとか言ってる
>>114 ちゃんなんて!
>>121 あの… tcsh って csh から派生していて、ソースはかなり共通
なんですけど。
おまけに tcsh の方が、csh に比べれば、まだ多少は言語レベル
のバグが取れてるんですが… 「setenv * foo」とか。
より駄目な方を好むって、いったい…?
>>123 そんなことないでしょ。bash より sh の方が軽いから、スクリプト
の実行に使うには、sh の方がいい。
ところが、csh はスクリプト書くのには使いものにならないから、
存在価値がないってことが、114には書いてあるのよ。
114 がんばってるなぁ。
>>124 csh, tcsh、合わせて価値がない。むしろ害があるのみ。
tcshには価値があると言うからtcshを話しただけ。
cshから派生しているのは知っています。tcshにcontrib.したので。
価値が無いものに何故contiributeなんかしたんだ?
配布ファイルの、 /root/.profile と /usr/share/skel/dot.profile に、 rm -f /bin/*csh と書いて是非 contribute をお願いします。
おまえら能書垂れるだけで、どうせヘボスクリプトしか書けないんだろ。
ごめんなさいちょっと背伸びしてみたかっただけなんです。 ほんとはcshぜんぜん知らないけど批判して通っぽく思われたかったんです。
玄人こそcsh
csh を使いたくなければ使わなければいいだけ。 多くの Linux における bash のように、 使いたくなくても使わざるを得ないものの方がずっと迷惑だ。
「英語のマニュアルを読むにはどうすればいい?」 と質問を受けた時、cshユーザーかも知れないことを考慮して、 env LANG=C man hoge と説明しなければならないのがウザイ。 また、老害的シス管だと、新規のユーザにアカウントを与える時、 デフォでtcshをログインシェルとして与え、 しかもその組織固有の設定を$HOME/.tcshrcに書いていたりするから、 とってもウザイ。 csh/tcsh撲滅すべし。
>>132 > 多くの Linux における bash のように、
最近はashがあれば動くものが多いです。
アプリでbash依存のものはありますが。
>env LANG=C man hoge LANG=C だけだとシェル変数の設定だけで環境変数にエクスポートされないのに、 LANG=C man hoge だと環境変数に設定されてコマンドが起動されるという非対称性が 気持ち悪いので、sh でも必ず env を使ってます。おれは。
日記に書け
次スレ 「UNIX撲滅委員会」
情報系の仕事してると、F系もN系も何故か苦労してcshスクリプトを 書いてて頭が痛い。 cshスクリプトの中でsh -cなんてするくらいなら最初からsh使えよ… と思うのだけど、「基盤はsh、業務はcsh」とか訳わからん事言うし。 (他に影響出さない部分は無視してshで書いてるけど) まぁ最初に作った奴の流用してるからってのもあるんだろうが、いい 加減負の遺産はこれ以上増やさないでくれ…
tcshに「うぐぅ」とか「ほぇ〜」とか言わせるのが厨の使い方だろ。
>>141 玄人の使い方だろ?厨は犬使うからbashが基本だ。
ちょっといい気になるとzshなんて使い始めるぞ。
それに今更tcsh使いはじめる香具師なんて多くはないだろ。
「うぐぅ」とか「ほぇ〜」とか言わせてるのは、ごく一部だろうが
犬使いは、そう言うのバカにしそうだしなw
馬鹿だからこそ、tcshなんて疑いもなく使いはじめるわけでして。
zsh 使いだけど「〜なの」とか言わせてみたい
↑あんたどっかのスレですさまじいプロンプト設定してなかった?
遊びでやってる人は好きなの選べていいね。 仕事でやってるとなんでも使えないとやってけない。
さゆPさん、どうしてるかな。
149 :
名無しさん@お腹いっぱい。 :2005/10/07(金) 23:54:39
(t)csh残さなきゃいけない理由なんてある? 老人ユーザの介護用以外で。
マジレスすると、他にまともなシェルが無いから。
馬首なんかのたぶ補完より、ヒストリ出して ^a^b やってるほうがなんか安心。
152 :
名無しさん@お腹いっぱい。 :2005/10/09(日) 21:14:16
She sells C-shell on the sea shore
>>152 She sells C-shell "at" the sea shore が正しい。
元ネタは sea-shells
ネタ間違えるとカコワルイ。
しかもどっかでがいしゅつ。
>>153 マジレスすると元ネタにatもonもbyのバージョンもあるよ。
そのへんにこだわるのは日本人だけ。
155 :
名無しさん@お腹いっぱい。 :2005/10/10(月) 02:27:48
ある企業で、 #!/usr/bin/csh sh -c ` XXXX 1> /dev/null 2>log` 。。。 スクリプトで csh を使うメリットってあるの? 関数もないのになぜ「C」を名乗ってるんだ?
UNIX+CShell+C というスキームだから。 スクリプトしか書けない奴なんて使うこと想定してないだろ。
シェルスクリプトとシェルの話が混ざってないか ログインシェルはダイナミックリンクをしてなければ何でもいいんじゃないのか。 シェルスクリプトは"sh -c"をしないで動けば何でもいいのでは。 純粋なcshがどの場面でも使えないのは同意だけどね。 といいつつtcshマンセー
>純粋なcshがどの場面でも使えないのは同意だけどね。 今ではあまりないけれど、sh と csh しかないような環境では ファイル名の補完ができるというだけでも有用。 # set filec して ESC で補完。
>>157 > ログインシェルはダイナミックリンクをしてなければ何でもいいんじゃないのか。
そんな限定が付くのはrootだけで十分だろ。
>>158 補完ができればよいという理由ならbashでも同じこと。
少しでもシェルスクリプトを書いたことがある者なら、
スクリプトとコマンドラインの仕様が違うのはイラつく。
だから(t)csh系はイラね。
>>160 UNIXとその周辺は、ほとんどすべてその種の不統一があると思うけどね。
Windowsはそういうところはマシなんじゃね?
だからって撲滅はやめてほしーね。黙ってなんとかするのがプロってもんだろ。
>>161 論点がずれてる。
スクリプトとコマンドラインで同じシェルを使えば済むこと。
スクリプトではcshは糞というのが、異論のない結論。
なぜわざわざコマンドラインだけcshを使うのか、理解できん。
初心者が間違えてcshを使い始めないようにするためにも、撲滅は必要。
>スクリプトとコマンドラインの仕様が違うのはイラつく。 イラつかない。
>>162 FreeBSDもdefault login shellをtcshってのは辞めたんでしょ。
必然的に死滅していくと思われ
>>164 >FreeBSDもdefault login shellをtcshってのは辞めたんでしょ。
ソース希盆。バージョンは? 6.0から?
>>160 sh と csh しかない環境の話で bash を出されても。
ときどき触らざるを得ない。勝手にインストールできないし。
そういうときは sh よりはマシという理由で自分も csh 起動。
167 :
名無しさん@お腹いっぱい。 :2005/10/10(月) 22:46:46
>>166 ハァ?
cshで補完はできないよ。
「補完ができる」のはtcsh。
で、tcshを持ち出すならbashでも同じことだろ、と言ってるんだろ。
いや、new cshはset filecで補完できる。 俺は10年くらい前にUltrixで使ったことがある。
tcsh tcsh ............. TCS! ..........TCS w tcsh → 東京コンピューターサービス エッチ
170 :
名無しさん@お腹いっぱい。 :2005/10/10(月) 22:59:20
kshは?
そうそう、set filec して ESC で補完。TAB と間違えて面倒なときも あるけどまあ補完できた方が楽だね。
たまに ESC 連打してる奴見かけるね。 ESC はキー位置が遠いから力が入るのだろうか、打鍵音が鳴り響く。 vi 使いは、「カタカタカタカタカタカタ、っポン、カタタ」てな感じだが、 csh 使いは「カタカタカタ、っポン、ポンポンポン、カタカタ」って感じ。
bash tcsh zsh使いは商用機にそんなもの勝手に入れられないから シェル・シェルスクリプトどちらでもsh csh kshは一通り使えるようにした方がいいと思う。 set filecはsh/cshしかなかった環境では非常にありがたかった。 もう博物館に行ってもらって現場にはあまり出てきてほしくないけどね。
純cshにも(旧式の)補完機能があったとは知らなかった。 純cshは、Ctrl-P/Nによるヒストリーが使えないから、 !!で直前コマンドとか、 historyコマンド打ってから!ヒストリ番号とか そんなことしか覚えてない。
sh/cshしかない商用UNIXでは、俺はsh使うなぁ。 ヒストリーだの補完だの、ヤワなものはもともとあまり使わないし、 やはり、cshだとシェルスクリプトと文法が違う違和感の方が大きい。 for i in ... とか日常茶飯事で直接コマンドラインに打つから、 cshよりも素の/bin/shの方が使いやすい。マジで。
>175 それだと端末速度が遅いときイライラしないかい。 設置位置とセキュリティ対策と予算でEther経由でログイン出来ず 9600bpsでDOSのターミナルソフトでコピペも出来ないうちは ファイル保管重宝してるよ。 for in ..はshの方が使いやすいね。
使いやすいってのは単なる主観だね。 別にどうでもいいけど、俺はcshが使いやすい。 シェルはプログラムだ。 機能の違うプログラム。同じような、だけど微妙に異なる 機能を果たすプログラム。 こういう議論は富士山へ上るルートのどれが一番か 、舞姫と猫のどっちが好きかってのと同類の議論。
bashと聞くと板違いだと思う私はtcshをどうしても手放せない。 補完だけが目的。スクリプトを書くならさっさとshで書いちゃうし。
そんな貴方に zsh
たしかに補完だけが目的なら zsh 最強 まだ tcsh なんて使っちゃってるんですが、っていう感じ
粘るか他に切り替えるかの閾値がとても低くなるので楽です。
>>180 > bashと聞くと板違いだと思う
アホ?
そういう人は居るよ。アホじゃないけど。
そんなにたくさんアホがいるのですか。怖いですね。
FreeBSD 5.xの/bin/shって、いつのまにか、 コマンドライン編集機能とヒストリに対応してるね。 これで益々csh/tcshの存在意義がなくなるね。
>存在意義がなくなるね。 >ならないよ。 >できるよ。
「なくなるね」に反応するなら「なくならないよ」と書くはず。 「ならないよ」と書いてるから違うだろ。 「なんで(どうしてだ=自問)?(コマンド編集できるように)ならないよ」 と言ってると思われ。
192 :
188 :2005/10/11(火) 23:46:47
いえ、(なく)ならないよという意味で使っている( アンカー付けて自問するほどアレじゃないし (コマンド編集できるように)ならないと書きたいなら (対応)してないよと書くはず)よ?
馬鹿は馬鹿らしく素直が一番。
>>191 (君が)馬鹿って言われてる(んだ)よ。酷いね。
単に便利だからというなら、どうしてUNIXなんか使ってるんだろう(笑
>>192 「なくなる」は、これで1語の動詞。
「なくな・る」(ラ行五段自)「なくな(語幹)」+「る(語尾)」
であって、決して、
「なく(形容詞「ない」の連用形)」+「なる(動詞)」
ではない。
よって、「なくなる」に対して、「ならない」と受けるのは誤り。
「なく」は形容詞の連用形じゃなく、「なくなる」の動詞の語幹の一部だから、
「なく」だけを省略できない。
「なくなる」を否定するなら「なくならない」とすべき。
>>187 そんなことは良いから、なんで?なくならないよ。
うむ。やっぱり「ならないよ」で良いや。
/bin/shが「シェルスクリプト専用」との位置付けなら、 /bin/shに「インタラクティブな」機能を追加するはずがない。 それが追加されたということは、FreeBSDの中の人にも csh(tcsh)をやめようという空気があるのは確かだろう。
>>199 あれって追加されたのか?グランドデザイン時点で
入ってるだろ。
やめる空気があってもいいけれど(やだけど^^;)、
問題は過去の資産をどうするかだな。
自分が使わない余分なシェル、じゃなくて、他人の
使っているアプリだと考えるとどうかな?
資産の中にはBJの思想も含まれるわけだけどな。
>>199 釣りなら釣り、マジならマジで最後まで通せよ。
中途半端な(ことしかできない)奴だな。
何故こんなことを書くかと言うと
>>199 には
おかしな(笑えると言う意味で)点が 5ヶ所はあるからだ。
>>200 FreeBSD 4.xのshではできなくて5.xでできるから、追加されたんじゃないの?
BJの思想はviとかだけでいい。 cshは負の遺産だ。
自分が最近知ったからって最近追加されたと思うのは
>>203 仮想記憶とかジョブコントロールとか他にも遺産はあるだろ。(思想?)
>>205 仮想記憶云々はシェルの議論とは直接関係ない。
ジョブコントロールは確かにcsh発祥だが、
すでにB-sh系にも採り入れられているから、
cshを撲滅しても遺産が残るので問題ない。
cshに「しか」ないもので、捨てて困るものはもはやないはず。
>>206 じゃあ、「もはやない。」と言い切る。満足?
そんな言葉じりをとらえるのやめて、 csh撲滅反対派の人は、なぜ反対なのか、 正直な意見を聞かせて欲しいな。 まだ一部にユーザーが残っている件については、 /binからは外してports送りという案でいいと思うが。 /bin/csh -> /usr/local/bin/csh のシンボリックリンクくらいは置いてやっていいよ。
>>208 cshに「しか」ないもので、捨てて困るものはある。
perlだってports化しました。 なのに、なぜにcshだけはports化してはいけないのか、 どうしてcshだけが特別なのか、 これが、私がBSDを使い始めた10数年前以来の疑問です。 B-shにだってできる。B-shにできることはB-shに、 スクリプトだってコマンドラインだって、 もはやcshにしかできないことは何もないのです。 私は、本当にcshをports化してはいけないのか、 国民の皆さんに聞いてみたい、そして、実際、 B-sh系ユーザーの方がすでに圧倒的にcsh系ユーザーを抜いているという 民意を反映したいのです。私はcshのports化を改革の本丸と位置付け、 改革を進めてまいります。cshのports化なくしてBSDの未来はありません。 どうぞみなさん、cshのports化にご賛同いただけますよう、 心からお願い申し上げます。
ワロタ
cshをports化しちゃうと、特定コミッター局長からプレゼントをもらえなくなるので 立場上反対せざるを得ません。
ports化後、 合理化と称して徐々に切り捨てられるのではないかと 少数の csh スクリプターは心配しております。
bash厨がキモい。
造反csh厨は除名されても知りませんぞ。
scsh 最強
scsh ってシェルスクリプティング用の scheme だっけ? と、ググらずに言ってみる。
ish 最強
220 :
名無しさん@お腹いっぱい。 :2006/03/03(金) 22:46:26
今、login shellとしてのcsh(tcsh)ユーザーって、 全体の何%くらいですかね。 俺のイメージだと、Linuxを除くUNIXで5%未満、 Linux限定だと1%未満かなと思うけど・・ 撲滅まであと一歩だね。
Mac OS Xがつい最近までtcshだったからもっと多いかと。
Windows がつい最近までcmd(ry
何その角度
224 :
名無しさん@お腹いっぱい。 :2006/03/04(土) 14:35:38
うちもcsh使ってる それはいいんだが、同機能でソースが違うのは勘弁して欲しいぜ なあ、NE○(;´д`)
大昔からの流れでtcshつかってまふ ・その当時WE2のcshにはファイル名補完があった ・!viとか!!とか便利だった ・環境変数を設定するのに2回コマンドを打つのはかったるかった
どうでもいいけど、tcshのcompleteは、やり出すとはまる。
227 :
名無しさん@お腹いっぱい。 :2006/03/15(水) 12:11:55
csh/tcsh はどちら使ってるか判らない時があるんだ。 tcsh固有のコマンドが通らないとき思わず「怒りの感情」が 出て、非常に身体に悪いと思う。
FreeBSDよ、rootのシェルのデフォルトをcshにするのやめろ。 suでrootになっても、プロンプトが # なので、cshであることがすぐにはわからない。 コマンドのPATHが通っていることを確認する時、 # type コマンド と打ってエラーになるし、 一時的に環境変数を変えるために # LANG=C コマンド と打ってもエラーになるし、 こういう時「怒りの感情」が出て、非常に身体に悪いなぁ。
229 :
名無しさん@お腹いっぱい。 :2006/03/15(水) 13:10:17
>>228 そうだ、そっちのほうが害がある。
だから、cshは要らない。
デフォルトぐらい自分で変えられないバカばかりか かなしいなぁ
ファビョる前にecho $SHELL しろよw
ほとんど毎日新規鯖の構築やる身としては慣れてるtcshが一番 お客の鯖だから俺様設定にする訳にもいかんし bashの挙動ウザー
みんなが使うrootのデフォルトを自分で勝手に替えちゃうのか・・・
>>230 「デフォルト自体」を変えるんだよ。配布ファイルのデフォルトを。
自分のマシンの/etc/passwdを編集するんじゃなくて。意味わかってる?
実際やろうとすると反対意見とか全部ねじふせて調整が要るだろうなと想像するけど、
是非やって欲しいな。
235 :
名無しさん@お腹いっぱい。 :2006/03/15(水) 14:47:18
>>234 /bin./sh に味付け無しでオK?
>>234 所詮少数意見だろ
配布を変えたらc shellの人間はどうするんだ?
また自分で変えろと?
鼬ごっこだろ
多数決で利便性の多い方に決まるだけ
別にだれも困らないから変えないだけ
いやなら自分で独自版を配布しろ
声が大きくなれば現状と取って変わるよ
わたしはこれでOS替えました
238 :
名無しさん@お腹いっぱい。 :2006/03/16(木) 04:55:19
その極端な言説にアレルギー反応がでる人の多いDJBも c-shellで起動が前提のdaemontoolsなんか作っていた。 そういう意味で撲滅されると困る人もいるのだろう。
ぶっちゃけ、bash使うならsh(ashの)を使うなぁ。 tcshが糞ならbashも同等に糞。目糞が鼻糞を笑ってるだけ。
>>239 sh(ash)使えばいいじゃん。大歓迎だよ。csh(tcsh)さえ捨ててくれれば。
そもそも話の流れでは誰もbashの話はしていないと思うが、、
kshとかzshだってあるし。 tcshがdefault shellのFreeBSD厨が、 bashがdefault shellのデストリが多いLinuxを嫌って、 bash叩いているケースが多そう。
cshはちょっとしたスクリプトで使ってるけどな 自分にはbashより書きやすいから便利 普段はbash使ってるけどスクリプトが書きづらい
245 :
名無しさん@お腹いっぱい。 :2006/03/21(火) 18:59:18
今からUNIXを始めるという新規のユーザーが わざわざ(t)cshを選ぶというのは考えにくいし、 今の(t)cshユーザーは、過去に(t)cshを使っていて そこから抜け出せない老人しかいないはず。 なので、撲滅は時間の問題。 FreeBSDでも、/stand/sysinstallで一般ユーザーを作ると、 デフォルトのシェルは /bin/shになっている。 (/etc/passwdのrootは依然/bin/cshだが) その意味でも(t)csh撲滅は時間の問題。
馬鹿みたいw
ま、年寄りが自己責任でtcshを使い続けるのは勝手だとしても、 ビギナーにUNIXを教える時はちゃんと/bin/sh前提で教えろってことだな。 ユーザーのデフォルトログインシェルは、当然/bin/shにするべき。
>>172 vi使いはふつうescじゃなくて^[。
10年くらい前だったら、社内アカウントに新規ユーザーを登録する際、 デフォルトのシェルはtcshだったが、今はとりあえずbashになっている。 で、1割ほどのユーザーが自分でログインシェルを変更するが、 変更先はzshかashが多く、tcshは居ない。今でもtcshを使ってるのは 10年前にデフォルトで割り当てたのをそのまま使ってるユーザーのみ。 まあ、半数のユーザーはUNIXにログイン自体ほとんどせず、 SambaやPOPでしかアクセスしないわけなんだが。 残ってるtcshユーザーも、UNIXにはほとんどログインしていないな。
ash に変更する人って何を期待して ash にするの?
復活の呪文が失敗したんだろ
⊃カドルト
つwish
254 :
名無しさん@お腹いっぱい。 :2006/03/24(金) 02:14:11 BE:40029023-
楽しいscript講座 とりあえず csh で ( 関数なんて使わないよ ) とりあえず 変数は全て setenv で ( 引数なんて面倒でしょ ) とりあえず シグナルと戻り値は全て無視 (っていうか何それ?) トドメに setuid ( sudo ?タイプミス?)
何でここでkshやpshの話が出てこないんだろう POSIX標準なのに…
坊やだからさ
>>255 POSIXが実務上は役に立たないということ。
というか、csh系さえ撲滅できればそれでいいんだよ。
B-sh系同士の優劣の議論はスレ違い。
でも自分で使いもしないshellをなんで叩くんだろ? その心理が疑問 UUCPなんて時代遅れ。糞 使ってるヤツ死ね。撲滅キボンヌ なんか滑稽だよな 自分が使わず世間が忘れたものに熱くなれる その若さの秘密が知りたい
使わなくてもダメなところがわかるからだよ
自分がUnixぶつのに関係ないことまで親切なこった
>>258 (理由1)
古い考えのシステム管理者で、
新人ユーザーにcshをデフォで割り当てたりするのを防ぐため。
(理由2)
ユーザーにコマンドを説明する時、
$ LANG=C hoge
と実行してと言うと、「エラーになった」とか言われるのを防ぐため。
(env使えと言う意見は却下)
>>261 古い考えのシステム管理者なら
デフォでcshが割当たらないようなシステム管理をする
ユーザーにコマンドを説明する時は現状のShellを打ち出させて
聞くか
環境線数の前にshell変更のUNIXもぶたせる
もしくは最初から複数のShellを想定する
WindowswをサポートしてUnix屋は廃業する
べつにcshを根本から撲滅するほどの問題ではない
アメリカ人が箸撲滅運動をしてるようで滑稽だよ
>>262 261の言わんとするところを理解してないな。
おれも
>>261 はどうでもいいな。老害管理者がcshで管理用スクリプト書いたり
しないで自分だけで使う分には無問題。糞爺に Csh Programming Considered
Harmful 読ませたらむきになってcshで書きやがる。市ね
年寄りに正論言っても無駄でつよ 無知のまま放置が一番の薬w
老害管理者が新人ユーザーにcshを教えてしまうのが問題。 新人にとっては初めて触るシェルがcshになってしまうので、 こういう刷り込みは困る。
前も書いたが cshスクリプトという意味なら問題だが インタラクティブなシェルにcshを使うのは問題ない 老害はさっさとリストラするように上に伝えてください
インタラクティブなシェルとしてcshを使うのも問題。 初心者ユーザーはいずれ、コマンドラインをファイル化して シェルスクリプトにできることを知る。 その時、cshの文法をそのまま持ち込もうとするので混乱が起きる。 で、ユーザーによっては、「自分はcshだから」という理由で cshスクリプトを書いてしまう。 そういう芽は幼少のうちから摘んでおくべき。
老害憎けりゃcshまで憎い
cshがダメなのに気付けない老人という構図です。
うっさいハゲ。
csh撲滅(廃止)までのロードマップ。 ・/binから追い出し、/usr/local/binへ(FreeBSDならports化) ・/etc/shellsから/bin/cshを外す。(cshユーザはftp等不可) ・/etc/csh.login /etc/csh.cshrcに、使用非推奨・警告メッセージを追加 ・/usr/local/bin/cshを、/bin/shへのシンボリックリンクに変更 ・/usr/local/bin/cshのシンボリックリンク自体削除 以上、めでたしめでたし。
cshにchshしようとしたら、obsoleteだからヤメレ!って警告が出るようになれば、 新規ユーザは居なくなるだろうな。
でも実際の話cshの問題はそれなりに受けとめて スクリプトを書き問題が生じなければそれまで 大量のcshスクリプトを持ってるが365日なんの 問題もない 何熱くなってるの?って話だ
老害キター
百歩譲って「インタラクティブ使用のcshならOK」とするなら、 /bin/cshを/usr/local/bin/cshに移動するべきだな。 どうしても使いたい人は/etc/passwdも/usr/local/bin/cshにする。 すると、#!/bin/csh なスクリプトは動かなくなるので、 これでcshスクリプトを一掃できる。
ついにbashが入ってそうなディレクトリへ移動しなければならないのか
>>276 どうせなら、/usr/local/Program Files/csh にすればいい。
パス名にスペースが入ってると、
#!/usr/local/Program Files/csh
と書いてもスクリプトが実行できない。
コマンドとしての起動はできるので、インタラクティブのみ桶を徹底できる。
所詮素人が寄って集ってもcshは無くならない 歴史を見て未来をみろよ 素人が何人集まっても 政治的に動くこととそうでないことがある
>279 そうだな。 Linusに直メールして、csh使ってるとランダムにkernel panicが起きるよう細工してもらおう。
281 :
名無しさん@お腹いっぱい。 :2006/03/27(月) 23:36:51
282 :
氏天国 :2006/03/27(月) 23:42:36
うーそー じゅんになー あきさみよー でーじなってる
ln /bin/sh /bin/csh
>>258 uucp使って人に迷惑かけるやつはそんなにいないが、
cshつかうやつはたいてい人に迷惑かけてるだろ。
286 :
名無しさん@お腹いっぱい。 :2006/04/11(火) 22:49:04
age
嬉々として老害、老害いってねーで シェルのひとつやふたつくれぇちゃっちゃとマスターして 「あ、それ csh ですか?20分で書き直すんで待ってもらえます? ちなみにこの際、都合のいいシェル言っていただければ、できますが?」 くれぇ言えや!このゆとり教育世代の腐れニートどもが! って言うべき流れかなと思った
最近書いたtcshの補完が全部shに丸投げw
291 :
名無しさん@お腹いっぱい。 :2006/05/16(火) 20:55:00
Linux使ってたんですが最近FreeBSD使い始めました。 とりあえずportsからbash入れたんですが、rootのログインシェルを /usr/local/bin/bash に変更したくてたまりません。 どうしたらいいでしょうか?
292 :
291 :2006/05/16(火) 21:02:42
そういえば使ってるFedora Core 5 になぜかtcshが入ってるなあ・・・ 削除しちゃえと、 # yum remove tcsh とやったら・・・ Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Removing: tcsh i386 6.14-6.fc5.1 installed 1.1 M Removing for dependencies: cvs i386 1.11.21-3.2 installed 1.5 M mkbootdisk i386 1.5.2-5.2 installed 6.9 k mtools i386 3.9.10-1.2.1 installed 326 k syslinux i386 3.10-2.2 installed 430 k Transaction Summary ============================================================================= Install 0 Package(s) Update 0 Package(s) Remove 5 Package(s) tcshに依存してるパッケージがこんなに・・・orz
>>292 cp /usr/local/bin/bash /bin/csh
294 :
名無しさん@お腹いっぱい。 :2006/05/16(火) 22:54:55
シングルユーザーモード入るときシェル選べるから、 /usr/local/bin/bash をrootのログインシェルにしても問題ないですかねえ?
>>293 せめてシンボリックリンクにさせてください
>>292 それって、単に依存してることになってるだけで、
強制削除しても何も問題ないよ。
(実際オレはtcsh削除した)
依存パッケージになってしまったのは
ある意味パッケージングミスだな。
296 :
名無しさん@お腹いっぱい。 :2006/05/17(水) 11:09:29
>>294 その bash は static link になってる?
FreeBSD だと /bin と /usr 以下は runlevel で分けられてるとオモタ
root アカウントは single user mode 起動時の最後の砦だから、
常に mount される /bin 以下の shell にしとくのが無難だよ。
でないと library が link デキネーって怒られるからw
Solaris なら /bin は /usr/bin の symbolic link だから init S でも
問題が起きるケースは少ないけど
run level は SysV 由来のもの。FreeBSD にはねーよ。
>>296 最近は/bin以下の物もstatic linkじゃないよ(6.1R/stable)
% file /bin/sh
/bin/sh: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 6.1 (601100), dynamically linked (uses shared libs), stripped
% file /bin/csh
/bin/csh: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 6.1 (601100), dynamically linked (uses shared libs), stripped
それで作られたのが/rescueだ
% ls -l /rescure
-r-xr-xr-x 131 root wheel 3319064 May 7 04:28 [
-r-xr-xr-x 131 root wheel 3319064 May 7 04:28 atacontrol
-r-xr-xr-x 131 root wheel 3319064 May 7 04:28 atm
-r-xr-xr-x 131 root wheel 3319064 May 7 04:28 atmconfig
: ↑
いわゆるクランチバイナリ。
300 :
名無しさん@お腹いっぱい。 :2006/05/26(金) 00:28:03
ports の zsh は、Makefile を変更。 NOSHARED=yes にして /bin/zsh として突っ込んでる。 クランチバイナリの/rescue なんて使いたくないね。 バカ犬のインストーラに、よくついてくるbusyboxもオプションが マトモに渡せないのでかなり腹たたよ。 バカ犬はそれ以来うちの箱では飼ってない。客んとこに有るけど 手入れはおざなり(っつか、手間がかかりすぎる)
標準エディタはedだからEmacsは使うべきじゃない。 edと同系統のviに統一すべき。
>>295 以外にcshスクリプトとかパッケージに含まれてたりするんじゃないの?
>>296 もうrescueイメージでネットブートでもCD-ROMブートでも簡単に
できて復旧できるから、あまりstatic linkに拘る必要はなくない?
>>302 実行しなければならないcshスクリプトはパッケージに含まれていない。
含まれているのは、cshユーザー用の環境変数設定ファイルとか。
(もちろん、B-shユーザー用もある)
なので、これはcshに依存しているわけではないのに、
パッケージ上は依存扱いにされているのが間違い。
>>304 またまた csh被害者だね。cshを捨てると直るよ。マジで。
306 :
304 :2008/04/04(金) 23:19:59
FreeBSD でシェルを変えるのってどうしたらいいのでしょう?
シェルを起動する
308 :
名無しさん@お腹いっぱい。 :2008/04/05(土) 09:57:46
>>306 chsh
>>307 それだとログインシェルは変わらないし、ログインシェル用の設定ファイルが読まれない。
>>308 どこにログインシェルを変えたいって書いてあるんだよ
311 :
304 :2008/04/05(土) 14:01:12
>>307 >>308 ありがとん
bashに変えてみたけど
.profile再生成とかできないのかな?
結局kahua-packageが起動できないorz
313 :
304 :2008/04/05(土) 15:24:16
エラーメッセージではないですが command not found と言われます
>>313 やっぱり、初心者にとって、エラーメッセージを示すこと自体困難だよな。
>>312 の言う通り、
【エスパー】くだ質【エラーメッセージ不要】(1)
で質問し直して。
そっちのスレでは「マルチ」って言われないから、再度質問分を書いてもOK。
今回の場合、単にPATHの通し方がわかってないだけみたいだけど、
エスパースレの方に移動してから回答してやるから。
315 :
304 :2008/04/05(土) 20:39:04
スレを汚してすみません。 移動しましたので宜しくお願い致します
ここは糞スレだから汚れてはいないw
tcshのports送りマダー?
csh が存在する理由が解らない。 老人ホーム以外の意味なんてあるんだろーか?
普通に便利だと思うが
普通にしか便利じゃないのに文法が違う
インタラクティブな場合には便利とかいう意見もあるけど、 それはbsh系が貧弱だった過去の評価を未だに盲信してるだけじゃないのかな。 職場でしばらくtcshを使っていたが 結局自分でHOMEの下に違うの入れちゃった。
半年前にcsh&tcsh Manual&Referenceをブックオフにて 100円で購入した僕が通りますよっと。
cshは必要です。
324 :
名無しさん@お腹いっぱい。 :2008/05/24(土) 10:35:08
% alias lo logout % alias ls 'ls -AF' % alias rm 'rm -i' % alias q99 'echo please | mail -s q99 quest@B' % alias quest 'echo please | mail -s \!* quest@B' % alias ans 'mail -s \!:1 ans@D' % alias ppa 'echo \!* echo' % alias ppb 'echo echo' このようにコマンドを実行したあとに ppa sunday ppb ppb sunday ppa quest q30 と打つと置換が完了した時にどのような文字列に変わるか、という課題が わかりません。 aliasが置換コマンドなのはわかります。 ただ、\!*や\!:1がどう影響を及ぼすかが私には推測できません。 どなたかUNIXにお強い方がいましたら ご教授を願えないでしょうか?
cshの課題出す教授の講義受けるの止めろ 時間の無駄だから
あのう、cshって現場ではもう使われていないんですかぁ?
327 :
名無しさん@お腹いっぱい。 :2008/05/24(土) 19:49:25
csh恥ずかしい・・・
普通はksh93、そうでなければ、Bash (3.x)、 パワーユーザはzsh、 感傷に浸りたいひとが、tcsh 。
329 :
名無しさん@お腹いっぱい。 :2008/06/10(火) 08:45:10
cshのデメリットって 標準エラー絡みしか思いつかないんだけど他にもある?
csh why not
331 :
名無しさん@お腹いっぱい。 :2008/06/17(火) 10:59:44
#!/bin/csh -f set com=$0 if ($#argv < 1 || $#argv > 3) then echo Usage:$com start_line total_lines '[file_name]' exit 1 endif if ($#argv == 2) then set s=$1 set t=$2 tail +$s | head -$t else set s=$1 set t=$2 set f=$3 cat $f | tail +$s | head -$t endif exit 0 echo ------------------ これだとエラーがでます。どなたか改良してください。お願いします。
cshはglobの制御がどうにもしがたい。糞。
333 :
名無しさん@お腹いっぱい。 :2008/06/18(水) 03:12:26
#!/bin/sh com="$0" if [ $# -lt 2 -o $# -gt 3 ]; then echo Usage:$com start_line total_lines '[file_name]' >&2 exit 1 fi if [ $# -eq 2 ]; then s="$1" t="$2" tail +$s | head -$t else s="$1" t="$2" f="$3" cat $f | tail +$s | head -$t fi exit 0
334 :
名無しさん@お腹いっぱい。 :2008/07/15(火) 17:13:57
------------------------------- echo "running..." set num = 1 foreach file (*.ppm) ./mser.ln $file img$num.mser ./compute_descriptors.ln -sift -i $file -p1 img$num.mser -o1 mser.img$num.sift @ num++ end echo "running..." set num = 1 foreach file (*.ppm) ./mser.ln $file img$num.mser ./compute_descriptors.ln -sift -i $file -p1 img$num.mser -o1 mser.img$num.sift @ num++ end ---------------------------------------------- こう書くと ./mser.sh: line 7: syntax error near unexpected token '(' ./mser.sh: line 7: 'foreach file(*.pp,)' と言うエラーが出ます。ボスケテ!
cshか・・・今となっては全てが懐かしい
マルチかよ
おまえらdashって知ってるか?
昔debianでNetBSDのshのlinux移植版をdashってしてたけど そのこと?
dash(dead again shell)ってどこかで聞いた覚えがあるけど なんだか思い出せん
341 :
名無しさん@お腹いっぱい。 :2008/09/13(土) 18:03:43
うちの会社では、基幹系の処理をcshスクリプトで実行してます。 6,7年前に汎用機からSoralisに基幹処理を移行したときに、 対話もスクリプトもcshってことになっちゃったみたいです。 3,4年前から対話はtcshでやろう!ってことになってきたのですが、 それもログインシェルの変更ではなくて、 ログイン後に"tcsh"っていちいちタイプしてますよ。 (わたしはbashだけど) 「標準エラー出力が...」なんて言っても、 会社の同僚はみんな汎用機 & JCL & COBOL の人達なので(わたしもそうですが)、 そもそも標準入力・標準出力を理解してないので、話になりません。 まだまだそういう環境もあるのですよ...(最近できたんだけど)
スクリプトはbshで書くようにしないとでしょ...
343 :
名無しさん@お腹いっぱい。 :2008/09/13(土) 20:16:34
ナショナル撲滅してパナソニックに統一しろ! みたいなスレだな
>>343 え、それはすでに決定事項で、パナソニックに統一されますが。今年10月からだっけ?
Soralisならしょうがないな
csh(tcsh)も、期限を切ってサポート終了すればいいのだな。
347 :
名無しさん@お腹いっぱい。 :2008/09/13(土) 23:16:41
池田大作が「宗教は自由」って言ってた
cshの勉強をするのにお勧めの書籍ってある?
C SHELL フィールドガイド とか? でもなんだっていまさらcshなの? SI会社で昔のcshスクリプトでもメンテナンスしなきゃならないの?
汚れ仕事は金になる〜
352 :
名無しさん@お腹いっぱい。 :2009/03/06(金) 23:26:10
いわゆるラッパースクリプトで、 コマンドライン引数をそのまま、 引数に含まれるスペースや記号に解釈を加えないで、 別のコマンドの引数として引き渡す場合、 /bin/shなら、 command "$@" としますが、 これ、cshスクリプトだとどう記述するんですか?
>>353 $argvでは、引数に含まれるスペースや記号が解釈されてしまう。
そもそも$argvでできるなら質問しないだろ。
質問は「引数に含まれるスペースや記号を解釈しないでそのまま渡す方法」だ。
>>352 それは cshでは不可能というのが結論。だからcsh撲滅すべし。
cshの $argvは、/bin/shの $* 相当なので、内容が再解釈されるから不可。
cshの "$argv"は、/bin/shの "$*" 相当なので、引数が連結されてしまうから不可。
/bin/shの "$@" に相当するものは cshには存在しない。
>>353 おまえ、あほだろ。何が「man を見るんだ」だ。
まんまんを見る
>>356 man man
か?
それにしても最近おまんまn見てねーな…
しこっていいのよ
以下のソースで動きが異なる理由が知りたい。。。 #!/usr/csh -f set cmd = ( 'echo "test test2"' "|" "wc -l") set cmd2 = ( "echo" "|" 'echo "test test2"' "|" "wc -l") echo "cmd=$cmd" eval $cmd echo "###########################" echo "cmd2=$cmd2" eval $cmd2
359だが、別の環境でやったら同じ動きをしたよ。。。 バージョンとかの違いだったみたいです。お騒がせしました。 誰も見てねーとは思いますが
デスマご苦労さまでちゅ! 仕事がなくてヒマしているPGさんも ご苦労さまでちゅ! 壊れて辞めてしまったPGさんも これまた本当にご苦労さまでちゅた! さて、フロは入ったほうがさっぱりいたしますが、 スレタイどおりと思いませんか?
362 :
名無しさん@お腹いっぱい。 :2011/01/29(土) 19:47:30
撲滅する必要は無い
応募資格: ・UNIXシェル(コマンドライン)上にて一通りの作業ができる方 (ただし、ログインシェルがcsh系(tcshを含む)の方は応募を御遠慮下さい)
365 :
名無しさん@お腹いっぱい。 :2011/02/27(日) 22:33:14.72
バカなcshのこれ、解決できないの? % alias foo 'echo Hello' ; foo foo: Command not found. % foo Hello
そんな訳ないだろと思って試してみたら本当だったでござる
と思ったらbashでもzshでも同じじゃねーか!ふざけんな
$ foo(){ echo Hello;}; foo Hello $ foo Hello
1行ごとに解釈して alias 展開したのち、全体を実行するという man 通りの動作です。 % alias foo 'echo Hello' ; foo foo: Command not found. % unalias foo ; foo Hello
372 :
名無しさん@お腹いっぱい。 :2011/04/27(水) 12:30:41.83
今のLinuxの主要ディストリはみんな、 デフォではcsh/tcshは入ってないんだよ。 撲滅完了?
ビル女医大先生は、どうして新しいシェル文法を考えるのをやめて、
Bourne shellにジョブコンとヒストリを付けてくれなかったのか…
>>372 Mac OS Xもtcshをディフォルトログインシェルにするの辞めたしな。
HP-UXは今でもそうなんじゃない? *BSDはもう最近全然知らないが。
>>373 C言語の文法を、スクリプト書き、もっと言えばインタラクションの場面でも使いたかったからでは。
C shellって名前にしたぐらいなんだから。
375 :
名無しさん@お腹いっぱい。 :2011/05/06(金) 11:36:51.11
She sells C shells by the seashore.
撲滅だよもん
377 :
名無しさん@お腹いっぱい。 :2011/08/10(水) 11:51:49.83
$の部分を食べたらおいしかった
bshの文法が受付けないわ tcshで桶
文法はどうでもいい部分。 cshは意味に問題がある部分が多い。
いい加減Cシェル書くのは止めようよ。マジCシェルみたいなカス使ってるの ってFREE?BSDユーザだけだよ。ていうかROOTのデフォルトシェル がTCシェルなのは一体何時になったら変わるの? Cシェル使うくらいならSHシェル使ってください。それか、あとからバッシュ 入れるか。
わざわざ意識してまで間違った言葉遣い&用語選びをしなくてもいいんですよ。
今月はじめ、職場に新しいPC(Core i7の結構ハイエンド構成)が入りました。 多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析や シミュレーションなど行う必要があり、制御コマンドとしてシェルスクリプトを 使用するのは聞いていたのですが、そのファイルを開いて1行目に書かれていたのは #!/bin/tcshという文字列でした。 「うへぇ〜、よりによってtcshかよ」 ファイル記述子のリダイレクト不可、クオートのネスティング等に無理あり、 今の奴でさえシェル関数は使えないし、パイプラインの終了ステータスもおかしいし、 今時の担当者が扱ってセキュリティは大丈夫なのか不安はつきませんし、 スクリプトとしてのcshは嫌われるのでネット上の情報も少なく調べるのも大変です。 おそらく導入に際して、大学など教育機関で最初にcshに触れて刷りこまれた人間が 強気の知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 昔、当時、シェルで唯一aliasやhistoryやジョブコントロールの機能が使えた cshは大学など教育機関に浸透していて、日本のシェル界に多くのバカを輩出しました。 これから私は、おそらくそういうバカが、$*でスペース入りファイル名が扱えないとか $<でファイルから読めないのかとか、if文の条件式のコマンドでリダイレクト できないのかなどと、シェル通気取りの偏ったどうでもいい我侭を言い出し (だからcshスクリプト書くんじゃねーよ)それと戦わなければならないのでしょう。 そして時代によって決着している、過去25年のシェル界隈のくだらないそれらの議論が 再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 だからお願いです。教育現場ではbashでもzshでもkshでもashでも Bourne shでもなんでもいいですがBシェル系のシェルにしてください。 教育機関で懐古趣味のバカを量産されると現場が非常に苦労するのです。
そのコピペ面白くないからもういいよ。
コピペだったのか。マジレスしそうになったよw
386 :
名無しさん@お腹いっぱい。 :2012/07/13(金) 06:45:17.86
>>383 「輩出する」は自動詞
×バカを輩出しました。
○バカが輩出しました。
ただの誤変換だろ。 ○バカを排出しました。
>>387 だからそれが間違いだって。
○バカが輩出しました。
389 :
名無しさん@お腹いっぱい。 :2012/07/13(金) 09:16:52.20
一人じゃ輩出できないけどな。次々出てこないと。
>>388 ぷぷぷっ。教養の無さを自白すんなよ。どっかのブログでつけた浅知恵か。
「排出する」は他動詞だから「バカを排出しました」は正しい用法。
>>389 元記事は「多くのバカ」となってるよ。切り出し方も無教養だったって事だね。
>>390 だから、排出じゃなくて輩出だよ。
>>383 もう1回良く読め。
勝手に排出と読み間違えて何言ってんだか。
そんなひっぱるほどの話じゃない。
>>381 排出: (内部の不用な物を)外へ出すこと。
(不要な)バカが(大学など教育機関)から外に出てきたんだから、排出であってるじゃん。
>>393 原文は
>>383 383では輩出と言ってる。原文がすべて。以上終了。
(排出だと前後の文脈と矛盾して意味が通じない)
単なる誤変換。排出でも前後の文脈と全然矛盾しない。 ゴミやクズやバカに対しては「〜〜を排出する」は正しい用法であること に気づかず、どこかのブログで仕入れた半端な知識を振り回したお前の負け。
「〜を排出する」では「〜」の部分に「人」は来ない。「物」が来る。
>>395 「cshで教育を受けた人間が世の中に輩出した」という文脈だから、
「排出」だと矛盾する。「排出」だとcshで教育を受けたことが不要なことだったという
意味になってしまうから。
もちろん、原文ではそういう大学教育をやめろともう一度否定してるんだけど、
その否定元が「排出」だと意味が逆になってしまう。
よって、原文は「輩出」の意味で書いていると考えられる。
>>395 > 「排出」だとcshで教育を受けたことが不要なことだったという意味になってしまうから。
違う。不要なのはcshの教育を受けたことではなく、csh教育を受けた結果としてできた「バカ」。
なんら矛盾しない。
>>398 「排出」だと仮定した場合の主語は「大学等」だから
398が言うことは矛盾している。大学自身は「排出」だと考えていないのだから。
で、
>>396 には反論できないのかな?w
このように、
>>838 からは排出の誤変換なのか、自動詞の誤用なのかは判断できないのだが、
>>386 はどこかのブログで仕入れた半端な知識で自信たっぷりに
> ×バカを輩出しました。
> ○バカが輩出しました。
と突っ込んでしまった。
ところが、「輩出する」とは「たくさん出てくる」という事なので、主語は複数で
なければならない。○をつけた文が誤用という愉快な突込みをとなってしまった。
×多くのバカを輩出しました。
○多くのバカが輩出しました。
とすべきであろう。付け焼刃でアゲ足を取ると恥をかくという実例である。
>>399 反論して欲しいなら反論に値するレスを書け。
ゴミカス書いて反論できないのかとは片腹痛いわ。
バカはゴミに等しい。すなわち「物」以下なので正しい用法。
かつてスクリプトスレで/dev/tcpで無知晒したクンが騒いでるのか。 文体そっくりでわかりやすいわ。
>>399 これもゴミカスだな。
> 大学自身は「排出」だと考えていないのだから。
ゴミを排出する側がゴミであるか否かを決定できるならゴミの違法投棄なんて
起こるはずがない。「排出」していると考えなければいいんだからな。
383です。ご指摘通りバカが輩出しましたに直しました。レスが流れてしまったのでもう一度書きます。 ----------------------------------------------------------------- 今月はじめ、職場に新しいPC(Core i7の結構ハイエンド構成)が入りました。 多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析や シミュレーションなど行う必要があり、制御コマンドとしてシェルスクリプトを 使用するのは聞いていたのですが、そのファイルを開いて1行目に書かれていたのは #!/bin/tcshという文字列でした。 「うへぇ〜、よりによってtcshかよ」 ファイル記述子のリダイレクト不可、クオートのネスティング等に無理あり、 今の奴でさえシェル関数は使えないし、パイプラインの終了ステータスもおかしいし、 今時の担当者が扱ってセキュリティは大丈夫なのか不安はつきませんし、 スクリプトとしてのcshは嫌われるのでネット上の情報も少なく調べるのも大変です。 おそらく導入に際して、大学など教育機関で最初にcshに触れて刷りこまれた人間が 強気の知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 昔、当時、シェルで唯一aliasやhistoryやジョブコントロールの機能が使えた cshは大学など教育機関に浸透していて、日本のシェル界に多くのバカが輩出しました。 これから私は、おそらくそういうバカが、$*でスペース入りファイル名が扱えないとか $<でファイルから読めないのかとか、if文の条件式のコマンドでリダイレクト できないのかなどと、シェル通気取りの偏ったどうでもいい我侭を言い出し (だからcshスクリプト書くんじゃねーよ)それと戦わなければならないのでしょう。 そして時代によって決着している、過去25年のシェル界隈のくだらないそれらの議論が 再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 だからお願いです。教育現場ではbashでもzshでもkshでもashでも Bourne shでもなんでもいいですがBシェル系のシェルにしてください。 教育機関で懐古趣味のバカを量産されると現場が非常に苦労するのです。
そういう理屈ならWindows使ったほうが合理的だよ
だな、素直にWindows使ったほうがいい
409 :
名無しさん@お腹いっぱい。 :2012/11/17(土) 19:50:51.68
自分で調べる気0なんだけど、 cshでshのset -eやecho Error 1>&2相当をやるにはどうすんの?
cshからshのスクリプトを呼び出す。
もちろん「cshからshのスクリプトを呼び出す」以外の方法で。
>>410 set -eは、個別にshのスクリプトを呼び出しても機能しないだろw
そのshスクリプトがexitするだけで元のcshスクリプトはexitしないから。
さっきスクリプトのデレクトリをちょっと catしてみてら、cshのスクリプトが40本以上あったよw ボーンのほうがはるかに本数は多いけど 別に毎日20年からcシェル使い続けてるが、なんの問題もない 1回書いて回して無問題ならOK あれれ?ってなったらshで書けば済むことだろ なんで兼用できないバカがおおいのだろう
なんで兼用しなきゃいけないんだろう。
なんで各種のシェルを使い分けたくないんだろう?
複数使う必要特にないからなぁ。
あるcshスクリプトに渡された空白を含む可変長引数を、別のコマンドに転送したいのですが書き方がわかりません 具体的にはシェルスクリプトhoge.cshを./hoge.csh "a b" "c d"…と実行すると,内部で別のコマンドcmdを引数"a b" "c d"…で実行するような場合です. 引数の数が固定であればhoge.cshの中にcmd "$1" "$2"…と記述すれば良いのですが,可変長に対応しようと$*をそのまま用いると 展開されてcmd a b c dというコマンドになり,引数が4つになります. どなたかわかる方がいましたら,ご教授ください.
tcsh使いの求人情報ってどこにありますか?
同じPCでも、使うシェルによってPCの耐久寿命が変わるそうですね。 C shellは、電解コンデンサがライトアップしやすいって聞きましたけど、 やっぱり撲滅するべきなんでしょうね。
コンデンサとは本来、大型の蓄電器、蓄電装置のこと。 静電容量を持った電子部品のことはキャパシタという。 この用語を間違えて使用していると日本人と思われて馬鹿にされるので 気を付けるように。
422 :
名無しさん@お腹いっぱい。 :2013/09/16(月) 21:49:03.02
cshの組み込みコマンド echo で\nを改行コードとして扱いたいのですが。 例)echo "test\ntest" → test test bashは使えない環境のため、cshで実現をしたいのですが、可能でしょうか?
>>422 シェルスクリプトのスレからですが、man echoに不十分な場合はprintfを使うことと書いてあったので。
以下でどうでしょうか。
% printf "test\ntest\n"
test
test
\n じゃなく \n を使いたいんだろう。
425 :
名無しさん@お腹いっぱい。 :2013/09/18(水) 14:55:35.29
fedoraって標準でCシェルがインストされてないんだよね、ビックリした。 Cシェルってもう時代遅れなの?
昔から時代遅れだよ。
428 :
名無しさん@お腹いっぱい。 :2013/09/26(木) 12:56:56.37
中HIGHドライブ びーるうまい オマエラ 仕事わー
標準エラー出力と標準出力、それぞれを 別のパイプに通すことは可能?
cshを使ってきた君たちへ 君たちが悪いわけじゃないんだよ 君たちが覚えたcshの将来が無かっただけ 当時の社会が悪かっただけ 君たち一人ひとりが悪いわけじゃないんだよ だから自分を責めないで 社会と向き合ってください そうすればきっと気が付くはず 君たちのcshの知識が無用なのだということに 君たちの存在自体が社会の足枷だということに