Re: tcsh -> zsh
河野真治 @ 琉球大学情報工学です。
今日は、prompt と precmd 書いて、kterm のtitleは変更できるよう
になりました。cd/pushd は、まだやってない。
if ( $?TERM == 1 ) then
みたいなのって、どうやって書くんだろう?
.zshenv が常に読まれて、.zshrc がinteractive な時に読まれて、
login shell では、.zprofile なのね。それはわかりやすい。
if ($?USER == 0 || $?prompt == 0) exit
とかやる必要はないわけね。が、既に、login shell なんていうの
は死語だな。
module とかもチェックしたけど、lock 関係はないのかぁ。がっかり。
In article <d1ugbd$1gtd$1@nsvn02.zaq.ne.jp>, shirai@unixusers.net (Takashi SHIRAI) writes
> 因みに POSIX shell 仕様は context free grammar じゃないの
> で yacc では parse し切れないと思います。「)」に複数の意味が
> ありますから。
context dependent grammer でないものを探す方が難しいです。変
数の宣言は context dependent だしさ。で、yacc/bison で context
dependent を何とかするのは、状態を覚えておけば良いだけなので、
まぁ、そんな感じで実装すれば良いわけ。
> bash も yacc 使ってるので「)」を正しく parse 出来ないんで
> すよね。
それは「yacc だから」ではないです。単純に bash のパーサの
バグと言うと思う。
> yacc でも頑張れば出来るのかも知れませんけど、そんなところ
> で無理するくらいなら自前で parser 作った方が楽なんじゃないか
> しらん。
それには結構賛成するんだけどさ。でも、たぶん再帰下降法 + 状態
管理で書くことになると思います。それは実は yacc + 状態管理と
あまり差がない。差がないなら使わないっていう選択肢ももちろん
あります。
> でも、得てして普及してるソフト程 source が汚いんですよね。
> adhoc な方が賛同を得易いということなのかな。
adhoc なソースの方が、
豊富な機能をすばやく実装できる
っていうのがありますからね。Windowsが広まった原因だ。そして、実は、
adhoc なソースの方がバグをとりやすい
ってのもある。何故かと言うと、
adhoc な方法でバグ取りする心理的障壁が低い
から。綺麗なソースで機能拡張するときに、
「あぁ〜 adhoc なソースになってしまう」
あるいは、綺麗にはバグ取り切れなくて、
「この機能は、次回のmajor changeの時にしよう」
なんてのや良くある話...
> job control は結局端末制御に帰着するので、環境依存が激しい
> ですよね。「POSIX に限る」とか制限つけたところで、仕様に忠実
> な実装してない OS も少なくないし :-)
しかも、GUI当り前の方から見ると時代遅れだしなぁ。このあたり
OSの授業からは外そうかと思ってます。いまさら bg/fgでもあるまい。
あんまり関係ないけど、「スレッドの落とし穴」
http://www.itmedia.co.jp/enterprise/articles/0503/23/news086.html
とかいうのがあって、自分的にはつっこみながら読んで笑えた。
「thread みたいなことしたくないから、process を作ったのに」
ってな話を誰かがしてたなぁ。
---
Shinji KONO @ Information Engineering, University of the Ryukyus
河野真治 @ 琉球大学工学部情報工学科
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735