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

C shell 撲滅委員会

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
tcsh とかイラネ
0241名無しさん@お腹いっぱい。2006/03/16(木) 10:31:14
>>240
bash廃絶運動のヨカン。
0242名無しさん@お腹いっぱい。2006/03/16(木) 10:56:47
kshとかzshだってあるし。

tcshがdefault shellのFreeBSD厨が、
bashがdefault shellのデストリが多いLinuxを嫌って、
bash叩いているケースが多そう。
0243名無しさん@お腹いっぱい。2006/03/16(木) 10:57:40
cshはちょっとしたスクリプトで使ってるけどな
自分にはbashより書きやすいから便利
普段はbash使ってるけどスクリプトが書きづらい
0244名無しさん@お腹いっぱい。2006/03/21(火) 16:08:40
>>242
妄想乙
0245名無しさん@お腹いっぱい。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撲滅は時間の問題。
0246名無しさん@お腹いっぱい。2006/03/21(火) 21:48:05
馬鹿みたいw
0247名無しさん@お腹いっぱい。2006/03/21(火) 22:57:53
ま、年寄りが自己責任でtcshを使い続けるのは勝手だとしても、
ビギナーにUNIXを教える時はちゃんと/bin/sh前提で教えろってことだな。
ユーザーのデフォルトログインシェルは、当然/bin/shにするべき。
0248名無しさん@お腹いっぱい。2006/03/21(火) 23:32:23
>>172
vi使いはふつうescじゃなくて^[。
0249名無しさん@お腹いっぱい。2006/03/22(水) 07:50:25
10年くらい前だったら、社内アカウントに新規ユーザーを登録する際、
デフォルトのシェルはtcshだったが、今はとりあえずbashになっている。
で、1割ほどのユーザーが自分でログインシェルを変更するが、
変更先はzshかashが多く、tcshは居ない。今でもtcshを使ってるのは
10年前にデフォルトで割り当てたのをそのまま使ってるユーザーのみ。
まあ、半数のユーザーはUNIXにログイン自体ほとんどせず、
SambaやPOPでしかアクセスしないわけなんだが。
残ってるtcshユーザーも、UNIXにはほとんどログインしていないな。
0250名無しさん@お腹いっぱい。2006/03/22(水) 18:35:24
ash に変更する人って何を期待して ash にするの?
0251名無しさん@お腹いっぱい。2006/03/22(水) 18:41:56
復活の呪文が失敗したんだろ
0252名無しさん@お腹いっぱい。2006/03/22(水) 20:28:55
⊃カドルト
0253名無しさん@お腹いっぱい。2006/03/23(木) 01:26:03
つwish
0254名無しさん@お腹いっぱい。NGNG
楽しいscript講座
とりあえず csh で ( 関数なんて使わないよ )
とりあえず 変数は全て setenv で ( 引数なんて面倒でしょ )
とりあえず シグナルと戻り値は全て無視 (っていうか何それ?)
トドメに setuid ( sudo ?タイプミス?)
0255名無しさん@お腹いっぱい。2006/03/25(土) 01:03:16
何でここでkshやpshの話が出てこないんだろう
POSIX標準なのに…
0256名無しさん@お腹いっぱい。2006/03/25(土) 08:10:18
坊やだからさ
0257名無しさん@お腹いっぱい。2006/03/25(土) 08:55:13
>>255
POSIXが実務上は役に立たないということ。

というか、csh系さえ撲滅できればそれでいいんだよ。
B-sh系同士の優劣の議論はスレ違い。
0258名無しさん@お腹いっぱい。2006/03/25(土) 09:08:35
でも自分で使いもしないshellをなんで叩くんだろ?
その心理が疑問

UUCPなんて時代遅れ。糞
使ってるヤツ死ね。撲滅キボンヌ

なんか滑稽だよな
自分が使わず世間が忘れたものに熱くなれる
その若さの秘密が知りたい
0259名無しさん@お腹いっぱい。2006/03/25(土) 09:27:13
使わなくてもダメなところがわかるからだよ
0260名無しさん@お腹いっぱい。2006/03/25(土) 09:29:03
自分がUnixぶつのに関係ないことまで親切なこった
0261名無しさん@お腹いっぱい。2006/03/25(土) 09:36:03
>>258
(理由1)
古い考えのシステム管理者で、
新人ユーザーにcshをデフォで割り当てたりするのを防ぐため。

(理由2)
ユーザーにコマンドを説明する時、
$ LANG=C hoge
と実行してと言うと、「エラーになった」とか言われるのを防ぐため。
(env使えと言う意見は却下)
0262名無しさん@お腹いっぱい。2006/03/25(土) 10:43:05
>>261
古い考えのシステム管理者なら
デフォでcshが割当たらないようなシステム管理をする

ユーザーにコマンドを説明する時は現状のShellを打ち出させて
聞くか
環境線数の前にshell変更のUNIXもぶたせる
もしくは最初から複数のShellを想定する
WindowswをサポートしてUnix屋は廃業する

べつにcshを根本から撲滅するほどの問題ではない
アメリカ人が箸撲滅運動をしてるようで滑稽だよ
0263名無しさん@お腹いっぱい。2006/03/25(土) 10:54:26
>>262
261の言わんとするところを理解してないな。
0264名無しさん@お腹いっぱい。2006/03/26(日) 01:10:49
おれも>>261はどうでもいいな。老害管理者がcshで管理用スクリプト書いたり
しないで自分だけで使う分には無問題。糞爺に Csh Programming Considered
Harmful 読ませたらむきになってcshで書きやがる。市ね
0265名無しさん@お腹いっぱい。2006/03/26(日) 02:08:51
年寄りに正論言っても無駄でつよ
無知のまま放置が一番の薬w
0266名無しさん@お腹いっぱい。2006/03/26(日) 11:44:08
老害管理者が新人ユーザーにcshを教えてしまうのが問題。
新人にとっては初めて触るシェルがcshになってしまうので、
こういう刷り込みは困る。
0267名無しさん@お腹いっぱい。2006/03/26(日) 11:52:28
前も書いたが
cshスクリプトという意味なら問題だが
インタラクティブなシェルにcshを使うのは問題ない
老害はさっさとリストラするように上に伝えてください
0268名無しさん@お腹いっぱい。2006/03/26(日) 11:59:23
インタラクティブなシェルとしてcshを使うのも問題。
初心者ユーザーはいずれ、コマンドラインをファイル化して
シェルスクリプトにできることを知る。
その時、cshの文法をそのまま持ち込もうとするので混乱が起きる。
で、ユーザーによっては、「自分はcshだから」という理由で
cshスクリプトを書いてしまう。
そういう芽は幼少のうちから摘んでおくべき。
0269名無しさん@お腹いっぱい。2006/03/26(日) 12:00:00
老害憎けりゃcshまで憎い
0270名無しさん@お腹いっぱい。2006/03/26(日) 12:40:00
cshがダメなのに気付けない老人という構図です。
0271名無しさん@お腹いっぱい。2006/03/26(日) 16:57:13
うっさいハゲ。
0272名無しさん@お腹いっぱい。2006/03/26(日) 23:06:42
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のシンボリックリンク自体削除

以上、めでたしめでたし。
0273名無しさん@お腹いっぱい。2006/03/27(月) 01:37:54
cshにchshしようとしたら、obsoleteだからヤメレ!って警告が出るようになれば、
新規ユーザは居なくなるだろうな。
0274名無しさん@お腹いっぱい。2006/03/27(月) 10:35:03
でも実際の話cshの問題はそれなりに受けとめて
スクリプトを書き問題が生じなければそれまで
大量のcshスクリプトを持ってるが365日なんの
問題もない

何熱くなってるの?って話だ
0275名無しさん@お腹いっぱい。2006/03/27(月) 11:08:43
老害キター
0276名無しさん@お腹いっぱい。2006/03/27(月) 11:27:23
百歩譲って「インタラクティブ使用のcshならOK」とするなら、
/bin/cshを/usr/local/bin/cshに移動するべきだな。
どうしても使いたい人は/etc/passwdも/usr/local/bin/cshにする。
すると、#!/bin/csh なスクリプトは動かなくなるので、
これでcshスクリプトを一掃できる。
0277名無しさん@お腹いっぱい。2006/03/27(月) 11:53:14
ついにbashが入ってそうなディレクトリへ移動しなければならないのか
0278名無しさん@お腹いっぱい。2006/03/27(月) 12:39:11
>>276
どうせなら、/usr/local/Program Files/csh にすればいい。
パス名にスペースが入ってると、
#!/usr/local/Program Files/csh
と書いてもスクリプトが実行できない。

コマンドとしての起動はできるので、インタラクティブのみ桶を徹底できる。
0279名無しさん@お腹いっぱい。2006/03/27(月) 13:18:11
所詮素人が寄って集ってもcshは無くならない
歴史を見て未来をみろよ
素人が何人集まっても
政治的に動くこととそうでないことがある
0280名無しさん@お腹いっぱい。2006/03/27(月) 20:10:30
>279
そうだな。
Linusに直メールして、csh使ってるとランダムにkernel panicが起きるよう細工してもらおう。
0281名無しさん@お腹いっぱい。2006/03/27(月) 23:36:51
$HOME/.xinitrc(←これはxinitによって固定的に/bin/shスクリプトで扱われる) に
cshの文法で記述するという、アフォな例が検出されました。

http://pc8.2ch.net/test/read.cgi/unix/1140542841/843

exportとsetenvが混在w
0282氏天国2006/03/27(月) 23:42:36
うーそー
じゅんになー
あきさみよー
でーじなってる
0283名無しさん@お腹いっぱい。2006/03/28(火) 00:57:32
ln /bin/sh /bin/csh
0284名無しさん@お腹いっぱい。2006/03/28(火) 15:03:09
またまたヴァカ発見。↓
http://pc8.2ch.net/test/read.cgi/unix/1143302182/17

やっぱ早くcsh撲滅しないと、初心者の被害者増やすなぁ。
0285名無しさん@お腹いっぱい。2006/03/29(水) 19:50:02
>>258
uucp使って人に迷惑かけるやつはそんなにいないが、
cshつかうやつはたいてい人に迷惑かけてるだろ。
0286名無しさん@お腹いっぱい。2006/04/11(火) 22:49:04
age
0287名無しさん@お腹いっぱい。2006/04/12(水) 03:01:44
>>284
それはべつにどうでも
0288名無しさん@お腹いっぱい。2006/04/12(水) 03:47:33
嬉々として老害、老害いってねーで
シェルのひとつやふたつくれぇちゃっちゃとマスターして
「あ、それ csh ですか?20分で書き直すんで待ってもらえます?
 ちなみにこの際、都合のいいシェル言っていただければ、できますが?」
くれぇ言えや!このゆとり教育世代の腐れニートどもが!



って言うべき流れかなと思った
0289名無しさん@お腹いっぱい。2006/04/20(木) 20:00:01
最近書いたtcshの補完が全部shに丸投げw
0290名無しさん@お腹いっぱい。2006/04/28(金) 14:02:23
>>289
日本語でおk
0291名無しさん@お腹いっぱい。2006/05/16(火) 20:55:00
Linux使ってたんですが最近FreeBSD使い始めました。
とりあえずportsからbash入れたんですが、rootのログインシェルを /usr/local/bin/bash に変更したくてたまりません。
どうしたらいいでしょうか?
02922912006/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
0293名無しさん@お腹いっぱい。2006/05/16(火) 22:25:31
>>292
cp /usr/local/bin/bash /bin/csh
0294名無しさん@お腹いっぱい。2006/05/16(火) 22:54:55
シングルユーザーモード入るときシェル選べるから、 /usr/local/bin/bash をrootのログインシェルにしても問題ないですかねえ?

>>293
せめてシンボリックリンクにさせてください
0295名無しさん@お腹いっぱい。2006/05/16(火) 23:47:21
>>292
それって、単に依存してることになってるだけで、
強制削除しても何も問題ないよ。
(実際オレはtcsh削除した)
依存パッケージになってしまったのは
ある意味パッケージングミスだな。
0296名無しさん@お腹いっぱい。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 でも
問題が起きるケースは少ないけど
0297名無しさん@お腹いっぱい。2006/05/17(水) 11:24:20
run level は SysV 由来のもの。FreeBSD にはねーよ。
0298名無しさん@お腹いっぱい。2006/05/24(水) 11:38:23
>>295
気付いてたなら報告しといてよ。
0299名無しさん@お腹いっぱい。2006/05/24(水) 13:03:39
>>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
: ↑
いわゆるクランチバイナリ。
0300名無しさん@お腹いっぱい。2006/05/26(金) 00:28:03
ports の zsh は、Makefile を変更。 
NOSHARED=yes にして /bin/zsh として突っ込んでる。
クランチバイナリの/rescue なんて使いたくないね。
バカ犬のインストーラに、よくついてくるbusyboxもオプションが
マトモに渡せないのでかなり腹たたよ。
バカ犬はそれ以来うちの箱では飼ってない。客んとこに有るけど
手入れはおざなり(っつか、手間がかかりすぎる)
0301名無しさん@お腹いっぱい。2006/08/15(火) 14:57:31
標準エディタはedだからEmacsは使うべきじゃない。
edと同系統のviに統一すべき。
0302名無しさん@お腹いっぱい。2006/09/01(金) 01:23:00
>>295
以外にcshスクリプトとかパッケージに含まれてたりするんじゃないの?

>>296
もうrescueイメージでネットブートでもCD-ROMブートでも簡単に
できて復旧できるから、あまりstatic linkに拘る必要はなくない?
0303名無しさん@お腹いっぱい。2006/09/01(金) 08:16:19
>>302
実行しなければならないcshスクリプトはパッケージに含まれていない。

含まれているのは、cshユーザー用の環境変数設定ファイルとか。
(もちろん、B-shユーザー用もある)
なので、これはcshに依存しているわけではないのに、
パッケージ上は依存扱いにされているのが間違い。
0304名無しさん@お腹いっぱい。2008/04/04(金) 21:46:34
くだスレでこっちで質問するように言われたのですが、
マルチポストになると思ったのでリンクだけ張っておきます
cshで環境変数PATHの設定の仕方についての質問です

http://pc11.2ch.net/test/read.cgi/unix/1205161256/192
0305名無しさん@お腹いっぱい。2008/04/04(金) 21:49:13
>>304
またまた csh被害者だね。cshを捨てると直るよ。マジで。
03063042008/04/04(金) 23:19:59
FreeBSD でシェルを変えるのってどうしたらいいのでしょう?
0307名無しさん@お腹いっぱい。2008/04/04(金) 23:36:39
シェルを起動する
0308名無しさん@お腹いっぱい。2008/04/05(土) 09:57:46
>>306
chsh

>>307
それだとログインシェルは変わらないし、ログインシェル用の設定ファイルが読まれない。
0309名無しさん@お腹いっぱい。2008/04/05(土) 12:28:45
>>308
どこにログインシェルを変えたいって書いてあるんだよ
0310名無しさん@お腹いっぱい。2008/04/05(土) 13:15:30
>>309
>>304
03113042008/04/05(土) 14:01:12
>>307
>>308
ありがとん

bashに変えてみたけど
.profile再生成とかできないのかな?
結局kahua-packageが起動できないorz
0312名無しさん@お腹いっぱい。2008/04/05(土) 14:37:22
エラーメッセージを秘密にしたまま質問したいならエスパースレで聞くといいよ。
http://pc11.2ch.net/test/read.cgi/unix/1207042632
03133042008/04/05(土) 15:24:16
エラーメッセージではないですが
command not found
と言われます
0314名無しさん@お腹いっぱい。2008/04/05(土) 16:13:13
>>313
やっぱり、初心者にとって、エラーメッセージを示すこと自体困難だよな。
>>312 の言う通り、
【エスパー】くだ質【エラーメッセージ不要】(1)
で質問し直して。
そっちのスレでは「マルチ」って言われないから、再度質問分を書いてもOK。
今回の場合、単にPATHの通し方がわかってないだけみたいだけど、
エスパースレの方に移動してから回答してやるから。
03153042008/04/05(土) 20:39:04
スレを汚してすみません。
移動しましたので宜しくお願い致します
0316名無しさん@お腹いっぱい。2008/04/05(土) 20:57:35
ここは糞スレだから汚れてはいないw
0317名無しさん@お腹いっぱい。2008/04/05(土) 21:04:15
tcshのports送りマダー?
0318ウサチャソ ◆/0IEZmXnQ6 2008/04/06(日) 19:41:08
csh が存在する理由が解らない。
老人ホーム以外の意味なんてあるんだろーか?
0319名無しさん@お腹いっぱい。2008/04/06(日) 19:46:53
普通に便利だと思うが
0320名無しさん@お腹いっぱい。2008/04/09(水) 12:04:17
普通にしか便利じゃないのに文法が違う
0321名無しさん@お腹いっぱい。2008/04/18(金) 01:03:17
インタラクティブな場合には便利とかいう意見もあるけど、
それはbsh系が貧弱だった過去の評価を未だに盲信してるだけじゃないのかな。
職場でしばらくtcshを使っていたが
結局自分でHOMEの下に違うの入れちゃった。
0322名無しさん@お腹いっぱい。2008/04/27(日) 14:11:43
半年前にcsh&tcsh Manual&Referenceをブックオフにて
100円で購入した僕が通りますよっと。
0323名無しさん@お腹いっぱい。2008/05/20(火) 22:39:41
cshは必要です。
0324名無しさん@お腹いっぱい。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にお強い方がいましたら
ご教授を願えないでしょうか?
0325名無しさん@お腹いっぱい。2008/05/24(土) 13:30:36
cshの課題出す教授の講義受けるの止めろ
時間の無駄だから
0326名無しさん@お腹いっぱい。2008/05/24(土) 15:47:58
あのう、cshって現場ではもう使われていないんですかぁ?
0327名無しさん@お腹いっぱい。2008/05/24(土) 19:49:25
csh恥ずかしい・・・
0328名無しさん@お腹いっぱい。2008/06/07(土) 01:29:54
普通はksh93、そうでなければ、Bash (3.x)、
パワーユーザはzsh、
感傷に浸りたいひとが、tcsh 。
0329名無しさん@お腹いっぱい。2008/06/10(火) 08:45:10
cshのデメリットって
標準エラー絡みしか思いつかないんだけど他にもある?
0330名無しさん@お腹いっぱい。2008/06/10(火) 08:59:50
csh why not
0331名無しさん@お腹いっぱい。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 ------------------

これだとエラーがでます。どなたか改良してください。お願いします。
0332名無しさん@お腹いっぱい。2008/06/18(水) 02:37:22
cshはglobの制御がどうにもしがたい。糞。
0333名無しさん@お腹いっぱい。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
0334名無しさん@お腹いっぱい。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,)'
と言うエラーが出ます。ボスケテ!
0335名無しさん@お腹いっぱい。2008/07/15(火) 21:32:06
cshか・・・今となっては全てが懐かしい
0336名無しさん@お腹いっぱい。2008/07/15(火) 21:49:37
マルチかよ
0337名無しさん@お腹いっぱい。2008/07/19(土) 22:13:32
おまえらdashって知ってるか?
0338ウサチャソ ◆/0IEZmXnQ6 2008/07/20(日) 05:13:21
>>337
えー初耳なにそれ
0339名無しさん@お腹いっぱい。2008/07/20(日) 23:54:08
昔debianでNetBSDのshのlinux移植版をdashってしてたけど
そのこと?
0340名無しさん@お腹いっぱい。2008/07/28(月) 11:40:07
dash(dead again shell)ってどこかで聞いた覚えがあるけど
なんだか思い出せん
■ このスレッドは過去ログ倉庫に格納されています