C shell 撲滅委員会
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNG0285名無しさん@お腹いっぱい。
2006/03/29(水) 19:50:02uucp使って人に迷惑かけるやつはそんなにいないが、
cshつかうやつはたいてい人に迷惑かけてるだろ。
0286名無しさん@お腹いっぱい。
2006/04/11(火) 22:49:040287名無しさん@お腹いっぱい。
2006/04/12(水) 03:01:44それはべつにどうでも
0288名無しさん@お腹いっぱい。
2006/04/12(水) 03:47:33シェルのひとつやふたつくれぇちゃっちゃとマスターして
「あ、それ csh ですか?20分で書き直すんで待ってもらえます?
ちなみにこの際、都合のいいシェル言っていただければ、できますが?」
くれぇ言えや!このゆとり教育世代の腐れニートどもが!
って言うべき流れかなと思った
0289名無しさん@お腹いっぱい。
2006/04/20(木) 20:00:010290名無しさん@お腹いっぱい。
2006/04/28(金) 14:02:23日本語でおk
0291名無しさん@お腹いっぱい。
2006/05/16(火) 20:55:00とりあえずportsからbash入れたんですが、rootのログインシェルを /usr/local/bin/bash に変更したくてたまりません。
どうしたらいいでしょうか?
0292291
2006/05/16(火) 21:02:42削除しちゃえと、
# 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:31cp /usr/local/bin/bash /bin/csh
0294名無しさん@お腹いっぱい。
2006/05/16(火) 22:54:55>>293
せめてシンボリックリンクにさせてください
0295名無しさん@お腹いっぱい。
2006/05/16(火) 23:47:21それって、単に依存してることになってるだけで、
強制削除しても何も問題ないよ。
(実際オレはtcsh削除した)
依存パッケージになってしまったのは
ある意味パッケージングミスだな。
0296名無しさん@お腹いっぱい。
2006/05/17(水) 11:09:29その 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:200298名無しさん@お腹いっぱい。
2006/05/24(水) 11:38:23気付いてたなら報告しといてよ。
0299名無しさん@お腹いっぱい。
2006/05/24(水) 13:03:39最近は/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:03NOSHARED=yes にして /bin/zsh として突っ込んでる。
クランチバイナリの/rescue なんて使いたくないね。
バカ犬のインストーラに、よくついてくるbusyboxもオプションが
マトモに渡せないのでかなり腹たたよ。
バカ犬はそれ以来うちの箱では飼ってない。客んとこに有るけど
手入れはおざなり(っつか、手間がかかりすぎる)
0301名無しさん@お腹いっぱい。
2006/08/15(火) 14:57:31edと同系統のviに統一すべき。
0302名無しさん@お腹いっぱい。
2006/09/01(金) 01:23:00以外にcshスクリプトとかパッケージに含まれてたりするんじゃないの?
>>296
もうrescueイメージでネットブートでもCD-ROMブートでも簡単に
できて復旧できるから、あまりstatic linkに拘る必要はなくない?
0303名無しさん@お腹いっぱい。
2006/09/01(金) 08:16:19実行しなければならない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またまた csh被害者だね。cshを捨てると直るよ。マジで。
0306304
2008/04/04(金) 23:19:590307名無しさん@お腹いっぱい。
2008/04/04(金) 23:36:390309名無しさん@お腹いっぱい。
2008/04/05(土) 12:28:45どこにログインシェルを変えたいって書いてあるんだよ
0310名無しさん@お腹いっぱい。
2008/04/05(土) 13:15:30>>304
0311304
2008/04/05(土) 14:01:12>>308
ありがとん
bashに変えてみたけど
.profile再生成とかできないのかな?
結局kahua-packageが起動できないorz
0312名無しさん@お腹いっぱい。
2008/04/05(土) 14:37:22http://pc11.2ch.net/test/read.cgi/unix/1207042632
0313304
2008/04/05(土) 15:24:16command not found
と言われます
0314名無しさん@お腹いっぱい。
2008/04/05(土) 16:13:13やっぱり、初心者にとって、エラーメッセージを示すこと自体困難だよな。
>>312 の言う通り、
【エスパー】くだ質【エラーメッセージ不要】(1)
で質問し直して。
そっちのスレでは「マルチ」って言われないから、再度質問分を書いてもOK。
今回の場合、単にPATHの通し方がわかってないだけみたいだけど、
エスパースレの方に移動してから回答してやるから。
0315304
2008/04/05(土) 20:39:04移動しましたので宜しくお願い致します
0316名無しさん@お腹いっぱい。
2008/04/05(土) 20:57:350317名無しさん@お腹いっぱい。
2008/04/05(土) 21:04:150318ウサチャソ ◆/0IEZmXnQ6
2008/04/06(日) 19:41:08老人ホーム以外の意味なんてあるんだろーか?
0319名無しさん@お腹いっぱい。
2008/04/06(日) 19:46:530320名無しさん@お腹いっぱい。
2008/04/09(水) 12:04:170321名無しさん@お腹いっぱい。
2008/04/18(金) 01:03:17それはbsh系が貧弱だった過去の評価を未だに盲信してるだけじゃないのかな。
職場でしばらくtcshを使っていたが
結局自分でHOMEの下に違うの入れちゃった。
0322名無しさん@お腹いっぱい。
2008/04/27(日) 14:11:43100円で購入した僕が通りますよっと。
0323名無しさん@お腹いっぱい。
2008/05/20(火) 22:39:410324名無しさん@お腹いっぱい。
2008/05/24(土) 10:35:08% 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時間の無駄だから
0326名無しさん@お腹いっぱい。
2008/05/24(土) 15:47:580327名無しさん@お腹いっぱい。
2008/05/24(土) 19:49:250328名無しさん@お腹いっぱい。
2008/06/07(土) 01:29:54パワーユーザはzsh、
感傷に浸りたいひとが、tcsh 。
0329名無しさん@お腹いっぱい。
2008/06/10(火) 08:45:10標準エラー絡みしか思いつかないんだけど他にもある?
0330名無しさん@お腹いっぱい。
2008/06/10(火) 08:59:500331名無しさん@お腹いっぱい。
2008/06/17(火) 10:59:44set 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:220333名無しさん@お腹いっぱい。
2008/06/18(水) 03:12:26com="$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:57echo "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:060336名無しさん@お腹いっぱい。
2008/07/15(火) 21:49:370337名無しさん@お腹いっぱい。
2008/07/19(土) 22:13:320339名無しさん@お腹いっぱい。
2008/07/20(日) 23:54:08そのこと?
0340名無しさん@お腹いっぱい。
2008/07/28(月) 11:40:07なんだか思い出せん
0341名無しさん@お腹いっぱい。
2008/09/13(土) 18:03:436,7年前に汎用機からSoralisに基幹処理を移行したときに、
対話もスクリプトもcshってことになっちゃったみたいです。
3,4年前から対話はtcshでやろう!ってことになってきたのですが、
それもログインシェルの変更ではなくて、
ログイン後に"tcsh"っていちいちタイプしてますよ。
(わたしはbashだけど)
「標準エラー出力が...」なんて言っても、
会社の同僚はみんな汎用機 & JCL & COBOL の人達なので(わたしもそうですが)、
そもそも標準入力・標準出力を理解してないので、話になりません。
まだまだそういう環境もあるのですよ...(最近できたんだけど)
0342名無しさん@お腹いっぱい。
2008/09/13(土) 18:39:010343名無しさん@お腹いっぱい。
2008/09/13(土) 20:16:340344名無しさん@お腹いっぱい。
2008/09/13(土) 20:20:10え、それはすでに決定事項で、パナソニックに統一されますが。今年10月からだっけ?
0345名無しさん@お腹いっぱい。
2008/09/13(土) 21:53:000346名無しさん@お腹いっぱい。
2008/09/13(土) 23:06:130347名無しさん@お腹いっぱい。
2008/09/13(土) 23:16:410348名無しさん@お腹いっぱい。
2009/02/11(水) 17:45:330349名無しさん@お腹いっぱい。
2009/02/11(水) 18:27:25でもなんだっていまさらcshなの?
SI会社で昔のcshスクリプトでもメンテナンスしなきゃならないの?
0350名無しさん@お腹いっぱい。
2009/02/11(水) 21:10:550351名無しさん@お腹いっぱい。
2009/02/11(水) 21:16:370352名無しさん@お腹いっぱい。
2009/03/06(金) 23:26:10コマンドライン引数をそのまま、
引数に含まれるスペースや記号に解釈を加えないで、
別のコマンドの引数として引き渡す場合、
/bin/shなら、
command "$@"
としますが、
これ、cshスクリプトだとどう記述するんですか?
0353名無しさん@お腹いっぱい。
2009/03/07(土) 20:28:05$argv
man を見るんだ。
0354名無しさん@お腹いっぱい。
2009/03/07(土) 20:58:39$argvでは、引数に含まれるスペースや記号が解釈されてしまう。
そもそも$argvでできるなら質問しないだろ。
質問は「引数に含まれるスペースや記号を解釈しないでそのまま渡す方法」だ。
0355名無しさん@お腹いっぱい。
2009/03/07(土) 21:19:41それは cshでは不可能というのが結論。だからcsh撲滅すべし。
cshの $argvは、/bin/shの $* 相当なので、内容が再解釈されるから不可。
cshの "$argv"は、/bin/shの "$*" 相当なので、引数が連結されてしまうから不可。
/bin/shの "$@" に相当するものは cshには存在しない。
>>353
おまえ、あほだろ。何が「man を見るんだ」だ。
0356名無しさん@お腹いっぱい。
2009/03/07(土) 21:47:040358man man
2009/03/12(木) 15:20:510359名無しさん@お腹いっぱい。
2009/04/08(水) 23:19:38#!/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
0360名無しさん@お腹いっぱい。
2009/04/08(水) 23:45:17バージョンとかの違いだったみたいです。お騒がせしました。
誰も見てねーとは思いますが
0361名無しさん@お腹いっぱい。
2010/04/26(月) 18:05:48仕事がなくてヒマしているPGさんも
ご苦労さまでちゅ!
壊れて辞めてしまったPGさんも
これまた本当にご苦労さまでちゅた!
さて、フロは入ったほうがさっぱりいたしますが、
スレタイどおりと思いませんか?
0362名無しさん@お腹いっぱい。
2011/01/29(土) 19:47:300363名無しさん@お腹いっぱい。
2011/01/29(土) 20:06:45ある。
0364名無しさん@お腹いっぱい。
2011/01/29(土) 20:12:17・UNIXシェル(コマンドライン)上にて一通りの作業ができる方
(ただし、ログインシェルがcsh系(tcshを含む)の方は応募を御遠慮下さい)
0365名無しさん@お腹いっぱい。
2011/02/27(日) 22:33:14.72% alias foo 'echo Hello' ; foo
foo: Command not found.
% foo
Hello
0366名無しさん@お腹いっぱい。
2011/02/27(日) 23:28:54.150367名無しさん@お腹いっぱい。
2011/02/27(日) 23:30:17.050368名無しさん@お腹いっぱい。
2011/02/28(月) 06:31:21.81Hello
$ foo
Hello
0369名無しさん@お腹いっぱい。
2011/02/28(月) 13:45:26.63% alias foo 'echo Hello' ; foo
foo: Command not found.
% unalias foo ; foo
Hello
0370名無しさん@お腹いっぱい。
2011/02/28(月) 15:24:31.11それできないと何か困るの?
0371名無しさん@お腹いっぱい。
2011/02/28(月) 16:21:12.40へぇー
0372名無しさん@お腹いっぱい。
2011/04/27(水) 12:30:41.83デフォではcsh/tcshは入ってないんだよ。
撲滅完了?
0373名無しさん@お腹いっぱい。
2011/04/27(水) 14:56:56.62Bourne shellにジョブコンとヒストリを付けてくれなかったのか…
>>372
Mac OS Xもtcshをディフォルトログインシェルにするの辞めたしな。
HP-UXは今でもそうなんじゃない? *BSDはもう最近全然知らないが。
0374名無しさん@お腹いっぱい。
2011/05/04(水) 23:59:38.43C言語の文法を、スクリプト書き、もっと言えばインタラクションの場面でも使いたかったからでは。
C shellって名前にしたぐらいなんだから。
0375名無しさん@お腹いっぱい。
2011/05/06(金) 11:36:51.110376名無しさん@お腹いっぱい。
2011/05/30(月) 19:51:13.420377名無しさん@お腹いっぱい。
2011/08/10(水) 11:51:49.830378名無しさん@お腹いっぱい。
2011/08/10(水) 21:59:40.74tcshで桶
0379名無しさん@お腹いっぱい。
2011/08/11(木) 02:30:15.45cshは意味に問題がある部分が多い。
0380名無しさん@お腹いっぱい。
2011/08/11(木) 11:17:20.47ttp://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
0381名無しさん@お腹いっぱい。
2012/02/26(日) 15:19:16.96ってFREE?BSDユーザだけだよ。ていうかROOTのデフォルトシェル
がTCシェルなのは一体何時になったら変わるの?
Cシェル使うくらいならSHシェル使ってください。それか、あとからバッシュ
入れるか。
0382名無しさん@お腹いっぱい。
2012/02/27(月) 08:22:51.950383名無しさん@お腹いっぱい。
2012/07/12(木) 19:20:13.06多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析や
シミュレーションなど行う必要があり、制御コマンドとしてシェルスクリプトを
使用するのは聞いていたのですが、そのファイルを開いて1行目に書かれていたのは
#!/bin/tcshという文字列でした。
「うへぇ〜、よりによってtcshかよ」
ファイル記述子のリダイレクト不可、クオートのネスティング等に無理あり、
今の奴でさえシェル関数は使えないし、パイプラインの終了ステータスもおかしいし、
今時の担当者が扱ってセキュリティは大丈夫なのか不安はつきませんし、
スクリプトとしてのcshは嫌われるのでネット上の情報も少なく調べるのも大変です。
おそらく導入に際して、大学など教育機関で最初にcshに触れて刷りこまれた人間が
強気の知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。
昔、当時、シェルで唯一aliasやhistoryやジョブコントロールの機能が使えた
cshは大学など教育機関に浸透していて、日本のシェル界に多くのバカを輩出しました。
これから私は、おそらくそういうバカが、$*でスペース入りファイル名が扱えないとか
$<でファイルから読めないのかとか、if文の条件式のコマンドでリダイレクト
できないのかなどと、シェル通気取りの偏ったどうでもいい我侭を言い出し
(だからcshスクリプト書くんじゃねーよ)それと戦わなければならないのでしょう。
そして時代によって決着している、過去25年のシェル界隈のくだらないそれらの議論が
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。
だからお願いです。教育現場ではbashでもzshでもkshでもashでも
Bourne shでもなんでもいいですがBシェル系のシェルにしてください。
教育機関で懐古趣味のバカを量産されると現場が非常に苦労するのです。
0384名無しさん@お腹いっぱい。
2012/07/12(木) 19:50:14.10■ このスレッドは過去ログ倉庫に格納されています