OpenSolaris総合スレッド その2
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2009/03/11(水) 20:56:01SUNからリリースされる本家「Solaris」に関しては専スレでお願いします。
前スレ:【IPS】OpenSolarisを語れ!【ZFS】
http://pc11.2ch.net/test/read.cgi/unix/1212059204/
プロジェクト公式サイト ttp://opensolaris.org/
テンプレ:>>2-3
0375名無しさん@お腹いっぱい。
2009/06/04(木) 18:51:42まーーったく >371とは話つながってないけど。
> で、fileの内容を消去できない。
% uname -srm; /bin/zsh --version
Darwin 8.11.1 i386
zsh 4.2.3 (powerpc-apple-darwin8.0)
% ln -s /bin/zsh /tmp/sh; /tmp/sh
$ > 0; ls -l 0
-rw-r--r-- 1 xxxx xxxx 0 Jun 4 18:44 0
>>374
> えっと、/bin/shは置き換えないって前提の話だから、
いーや、そんな前提はない。かってに作るな。
0376名無しさん@お腹いっぱい。
2009/06/04(木) 18:57:33話がつながってないのはお前。
$0 != sh での話をしてるの。
>>362
>あ、rootのシェルが bashか。/bin/shとか /sbin/shが実体 bashちう話とは
>違うのな? それならまだ許せる。
↑これからの流れなので、/bin/sh -> zsh とはしないという前提の話。
0377名無しさん@お腹いっぱい。
2009/06/04(木) 19:01:19具体的には、何が誤動作するの? #!/bin/sh と書いてあるスクリプトを
むりやり zshで動かすのか?
想定してる状況がまったく見えないけど。
0378名無しさん@お腹いっぱい。
2009/06/04(木) 19:06:150379名無しさん@お腹いっぱい。
2009/06/04(木) 19:09:43読んでて俺もよくわからん。特に$0がどうこうってやつは。
そもそもシェルスクリプト組んだときの$0なんて、そのシェルスクリプトを呼び出した時のが入るわけで、
shもzshもないし、スクリプトじゃない手打ちの動作なんて、それこそ使う人の好みの話だもんな。
0380名無しさん@お腹いっぱい。
2009/06/04(木) 19:19:13オマエら、流れ良く読んでから書け。
rootのログインシェルを /bin/zshにすると、
> file とかが動作しなくなるということを言ってるだけの話。
ここではシェルスクリプトの#!/bin/(z)shとかは関係ないので混同するな。
あと、sh -> zsh のリンクもしないという話なので、
そっちの話に引っ張ってる人も的外れ。
0381名無しさん@お腹いっぱい。
2009/06/04(木) 19:22:36suしてrootになって、「コマンドラインで」作業する時、
今までだと > log_file とかでログファイルなどの内容を消すことが
できてたのが、zshに変わると同じ操作ではできなくなるので
混乱を生じる、という話かと。
0382名無しさん@お腹いっぱい。
2009/06/04(木) 19:27:49シェルスクリプトから見た $0 のことじゃなくて、
シェル自体を起動した時の argv[0] の話。
zsh自身が、argv[0]が shかどうかによってモードを切替えるのを知らないのかな?
0383名無しさん@お腹いっぱい。
2009/06/04(木) 19:48:47いや、zshが呼び出しをみて動作を変えているくらいは知っていますが、それで
影響を受けるのは結局、interactiveで操作している人の話なんだから、混乱するも
なにもshellを何に設定してるか知ってりゃ済む話。
$ >file
にしても、rootでそんな作業をするくらいの人なら、入力待ちになってるのは
見りゃわかるしなぁ。
なんか、見えない敵を勝手に仕立ててシャドーボクシングしてるように思えるな。
0384名無しさん@お腹いっぱい。
2009/06/04(木) 19:56:38Shellは宗教だと言うことがよく分かった
0385名無しさん@お腹いっぱい。
2009/06/04(木) 20:01:100386名無しさん@お腹いっぱい。
2009/06/04(木) 20:21:08>何に設定してるか知ってりゃ済む話。
あーあ、全然話わかってないね。
「設定してる」んじゃなくて、
OpenSolarisとしての OSのデフォルトで、rootのログインシェルを
最初から zshにしていいかどうかという話をしてるんだよ。
だれも自分だけのローカルなマシンでrootのシェルを個人的に変更する話は
してない。
0387名無しさん@お腹いっぱい。
2009/06/04(木) 20:23:250388名無しさん@お腹いっぱい。
2009/06/04(木) 21:27:50@ABCD`_など
0389名無しさん@お腹いっぱい。
2009/06/04(木) 21:29:240390名無しさん@お腹いっぱい。
2009/06/04(木) 22:27:192行目、「など」の左側に何か書いてありますか?
0391名無しさん@お腹いっぱい。
2009/06/04(木) 22:45:07_
0392名無しさん@お腹いっぱい。
2009/06/04(木) 23:02:410393名無しさん@お腹いっぱい。
2009/06/04(木) 23:04:440394名無しさん@お腹いっぱい。
2009/06/04(木) 23:20:500395名無しさん@お腹いっぱい。
2009/06/04(木) 23:22:13が
いっぱい
0396名無しさん@お腹いっぱい。
2009/06/04(木) 23:28:11HTMLソースを od -x で解析してみましたが、
何かローマ数字とかその辺の文字が数文字あると言えなくもない部分が
なくもないように思われたのですが、
皆さんはどのようにお感じになられましたでしょうか。
0397名無しさん@お腹いっぱい。
2009/06/04(木) 23:35:13> 皆さんはどのようにお感じになられましたでしょうか。
「粘着野郎は気持ち悪い」と、素直に思った。
0398名無しさん@お腹いっぱい。
2009/06/05(金) 00:04:320399名無しさん@お腹いっぱい。
2009/06/05(金) 00:07:350400名無しさん@お腹いっぱい。
2009/06/05(金) 00:45:53本当のunixユーザであればHTMLソースはod -bで解析するのが正しい。
0401名無しさん@お腹いっぱい。
2009/06/05(金) 03:47:34chsh /bin/shとかexec /bin/shすれば良い話じゃないのか。
まあマイナーなzshにする理由は理解出来ないけどな。
0402名無しさん@お腹いっぱい。
2009/06/05(金) 08:43:52笑。この板でやっても誰も元ネタ知らないよ
0403名無しさん@お腹いっぱい。
2009/06/05(金) 10:18:39その rootさんはさ、ログインシェルを zshに設定してるのに、> file ってやって
「うぎゃー、Bourne Shellと挙動が違うーー!!」ってアタマかかえちゃうわけ?
...そんなバカは放置以外手がないですね。そんな人がいるの????
というのが >383にもう書いてあったかw
0404名無しさん@お腹いっぱい。
2009/06/05(金) 10:31:52当時の tcshに比べてあきらかに zshの方が便利だけど、bashの便利さは tcsh以下。
プログラムもむしろデカいし、オリジナル Bourne Shellや kshのような上品さもない。
0405名無しさん@お腹いっぱい。
2009/06/05(金) 10:40:13おまえサポートの仕事したことないだろ。
メーカーとしてのサポート上の支障の話だ。
既存の手順マニュアル等をzshに合わせ変更しなければならなくなる。
そんな無駄なコストかけてすることじゃない。
0406名無しさん@お腹いっぱい。
2009/06/05(金) 10:45:59手間は変わりゃしないよ。別にそれはログインシェルがbournne shellでもkshでもbashでも一緒。
ログインシェルが変わったくらいで躓く奴には、どのみち今のsuper userの手順書はlinuxだろうと
solarisだろうと落とし穴だらけなんだから。
0407名無しさん@お腹いっぱい。
2009/06/05(金) 10:49:090408名無しさん@お腹いっぱい。
2009/06/05(金) 10:53:160409名無しさん@お腹いっぱい。
2009/06/05(金) 10:53:29おれはログインシェルがbashには賛成なんだが。
なぜなら bashは /bin/sh上位互換だからね。 >file の動作も一緒。
問題なのは、上位互換じゃない zshに変えること。こっちだけが問題。
bashは無問題。
0410名無しさん@お腹いっぱい。
2009/06/05(金) 10:54:54サポートはやってるぜ。
そういう前提なら、最初からそう書けよ。なんで自動的にそんな前提って
思い込むわけよ? そっちこそまともなサポートできてんのかよ?
客とまともに話ができとは到底思えん。
0411名無しさん@お腹いっぱい。
2009/06/05(金) 10:57:14>>368
>サポート的にもこれはまずいので、結局zshはダメでしょう。
0412名無しさん@お腹いっぱい。
2009/06/05(金) 11:04:580413名無しさん@お腹いっぱい。
2009/06/05(金) 11:08:59rootのshellだけはrootの本来の仕事である管理作業のために
過去のshellとの互換性を維持しておく必要があるから
勝手に変えたりしたら管理作業が面倒になるぞということだ
0414名無しさん@お腹いっぱい。
2009/06/05(金) 11:11:01そういう配慮が必要なのがrootのシェル。
0415名無しさん@お腹いっぱい。
2009/06/05(金) 11:12:53あるものならなんでもいいよ。/sbin/shでログインスクリプトもなしでいいじゃん。
普段の作業を便利にしたけりゃ、ログインした後にbashなりzshなりを一行打ち込むだけだもんな。
それ以外ってのなら、なんでも一緒。bashならOKでzshならダメなんて、その両者に
言うほど差があるとは思えん。まさに古典的な意味での五十歩百歩だな。
0416名無しさん@お腹いっぱい。
2009/06/05(金) 11:16:160417名無しさん@お腹いっぱい。
2009/06/05(金) 11:28:59bashは $0 が shでもbashでも sh上位互換であることに変わりない。
($0 = shだと一部のbash拡張が使えなくなるだけで、今の議論には関係なし)
zshは、$0 が shでないと、shの上位互換にならないことが問題。
0418名無しさん@お腹いっぱい。
2009/06/05(金) 11:38:430419名無しさん@お腹いっぱい。
2009/06/05(金) 11:44:060420名無しさん@お腹いっぱい。
2009/06/05(金) 11:56:35bashがリンクをスタティックにするか、ライブラリを全て/sbinの下に置くような変更をするってのなら
別にそれでもいいよ。
互換性どうのってのは、それに比べりゃ、ログインして最初にbashと打ち込む手間をどうするかって
だけで殆どどうでもいい話。
0421名無しさん@お腹いっぱい。
2009/06/05(金) 12:45:46正直どうでもいい
/bin/tcshでもいい
0422名無しさん@お腹いっぱい。
2009/06/05(金) 12:58:52Solaris10以降、スタティックリンク自体が廃止されました。
/sbin/sh ですら、今ではダイナミックリンクです。
libc.a が存在しないので、スタティックリンクのバイナリはもはや作成できません。
0423名無しさん@お腹いっぱい。
2009/06/05(金) 13:10:59知らないなら man bashくらいしろ。
>>417 自身も「$0 = shだと一部のbash拡張が使えなくなる」って書いてるのに、
読み落して「なんで $0見てんの?」ってレスして無知晒すなよ。
0424名無しさん@お腹いっぱい。
2009/06/05(金) 13:16:04..何エキサイトしてんの? もちろん知ってて書いてるよ。
マニュアルに $0なんて書いてあるか? ソース見たんだけどな。
まじ、アホ? なんのために拡張機能無効にする必要があるんだよ?
拡張機能すなわち非互換だろうが。
0425名無しさん@お腹いっぱい。
2009/06/05(金) 13:23:04bashの場合、$0 = bash で機能拡張されたとしても、
従来使えた機能が使えなくなったり変更されたりすることはない。
($0 = bash でも、非互換ではない)
zshの場合、$0 = zsh では、機能拡張の際に、
従来使えた機能が使えなくなるような変更を伴う。ここが問題。
0426名無しさん@お腹いっぱい。
2009/06/05(金) 13:24:56> zshの場合、$0 = zsh では、機能拡張の際に、
> 従来使えた機能が使えなくなるような変更を伴う。ここが問題。
問題って、具体的には?
今まで出てきたのは、せいぜいが
>a
でCtrl+Dを押さないといけない以上のものは出てきていないんだけど。
0427名無しさん@お腹いっぱい。
2009/06/05(金) 13:25:11Unixとは畑違いから来てるんじゃないか? ノリが違いすぎ。
0428名無しさん@お腹いっぱい。
2009/06/05(金) 13:25:46あの、Solarisでは、/bin/sh -> /sbin/sh ってリンクされてるの知ってますか?
で、ldd /sbin/sh ってやると、いろんなライブラリが動的リンクされてるのが
表示されるの知ってますか?
/sbin/shが静的リンクだったのはかなり昔の話。
0429名無しさん@お腹いっぱい。
2009/06/05(金) 13:26:42はいはい、こじつけご苦労さん。サポートがんばってね。
0430名無しさん@お腹いっぱい。
2009/06/05(金) 13:26:57反例は1つ挙げれば証明として十分。
0431名無しさん@お腹いっぱい。
2009/06/05(金) 13:32:54stty で erase や kill を変更できない。とか
0432名無しさん@お腹いっぱい。
2009/06/05(金) 13:34:28それほど悪くは無いと思う。
今なら他の選択肢もあるのだろうが。
0433名無しさん@お腹いっぱい。
2009/06/05(金) 13:35:43むしろ障害時のroot作業ではそんなものいじらない素のままの方が余計なことを
考えないで済む分ありがたい。
最近のrootは違うのかな。
0434名無しさん@お腹いっぱい。
2009/06/05(金) 13:36:42/sbin/shがスタティックリンクされてる頃は /lib/はなかっただろ?
ダイナミックリンクされるようになって /lib/ができた。
違いわかるか? 昔はダイナミックリンクすると /usr/lib/下のライブラリーが
必要になった。
/usrがマウントできなくなった時にシェル使えないと困るよね?
で、現在はどう?
0435名無しさん@お腹いっぱい。
2009/06/05(金) 13:38:07こりゃ zshダメだ。
0436名無しさん@お腹いっぱい。
2009/06/05(金) 13:38:15アホぬかせ。オリジナルの Bourne Shellがルールブックだ。
問題は腐った代用品の方。
0437名無しさん@お腹いっぱい。
2009/06/05(金) 13:39:330438名無しさん@お腹いっぱい。
2009/06/05(金) 13:53:56めんどくせー
ttp://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sh/main.c
27 /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
28 /* All Rights Reserved */
31 /*
32 * UNIX shell
33 */
0439名無しさん@お腹いっぱい。
2009/06/05(金) 14:44:32Solaris の shell のバグとか謎仕様とかには泣かされたなぁ
0440名無しさん@お腹いっぱい。
2009/06/05(金) 14:47:49kwsk
0441名無しさん@お腹いっぱい。
2009/06/05(金) 14:52:420442名無しさん@お腹いっぱい。
2009/06/05(金) 14:57:470443名無しさん@お腹いっぱい。
2009/06/05(金) 14:58:19exit は結構致命的だった
0444名無しさん@お腹いっぱい。
2009/06/05(金) 14:59:39mottokwsk
0445名無しさん@お腹いっぱい。
2009/06/05(金) 15:05:12Bourne shellとは呼べないな。
で、solarisのシェルもSVR4 shellそのものってわけでもなくそこから更に変更されているので
どのみちオリジナルとは言い難い。
0446名無しさん@お腹いっぱい。
2009/06/05(金) 15:06:34パイプにつながったwhileループの中でexitしてもシェルをexitしないという話か?
0447名無しさん@お腹いっぱい。
2009/06/05(金) 15:08:54bsh(kshも)はexit の引数の終了状態で終了するけど
これを無視しちゃうバグ(仕様?)があった
0448名無しさん@お腹いっぱい。
2009/06/05(金) 15:10:47それいつの話?
SunOSの/bin/shでもそんなバグ残ってないよ。
0449名無しさん@お腹いっぱい。
2009/06/05(金) 15:23:042000年頃に script 書いてて頭抱えたことがある
0450名無しさん@お腹いっぱい。
2009/06/05(金) 15:24:17うわ。正気ですか。じゃあ、どれがオリジナル? Bourneが書いた後
一切手の入ってないやつね。
なんの話がしたいん? なんぼほどメデタイんじゃおのれは。
0451名無しさん@お腹いっぱい。
2009/06/05(金) 15:25:180452名無しさん@お腹いっぱい。
2009/06/05(金) 15:26:59問題になる具体例書いてよ。
exit 123 はちゃんと 123のコードで終了するよ。(確認済み)
0453名無しさん@お腹いっぱい。
2009/06/05(金) 15:27:34いつ確認したんだ?
0454名無しさん@お腹いっぱい。
2009/06/05(金) 15:27:40発狂しなくてもいいのにw
0455名無しさん@お腹いっぱい。
2009/06/05(金) 15:30:04キミ、話あってないよ。
今、/bin/sh の exit にはバグがある(あった)けど、
bashでは修正されてる、という話をしてるんだけど。
0456名無しさん@お腹いっぱい。
2009/06/05(金) 15:30:06発狂して誤魔化すしか手がないんだろ
0457名無しさん@お腹いっぱい。
2009/06/05(金) 15:31:29今確認した。
2000年よりも確実に前のバージョンであるSunOS上で。
0458名無しさん@お腹いっぱい。
2009/06/05(金) 15:33:160459名無しさん@お腹いっぱい。
2009/06/05(金) 15:35:080460名無しさん@お腹いっぱい。
2009/06/05(金) 15:36:39exitの引数が「常に」無視されるってわけじゃなく、
「特定の条件下で」exitの引数が無視されるって言いたいんだよね?
その特定の条件教えて
0461名無しさん@お腹いっぱい。
2009/06/05(金) 15:38:08Autoconf: 移植性のあるシェルプログラミング
ttp://www.bookshelf.jp/texi/autoconf-ja/autoconf-ja_10.html
exitの件は、Solaris 8の shが引数を無視する、と書いてあるね。
ただ、bashが shと互換性が高いのでそのまま代用になる、なんて書いてないね。
むしろ逆。
まともにいくつかシェル使った経験があれば当然の評価かと。
むしろ、実装はダメな方だろww
0462名無しさん@お腹いっぱい。
2009/06/05(金) 15:45:09exit 1
の代わりに、
false
exit
と書けば良い。
頭抱えるほどのことではない。
どうせ、すぐにpatchで修正された件なんだろな。
0463名無しさん@お腹いっぱい。
2009/06/05(金) 15:46:470464名無しさん@お腹いっぱい。
2009/06/05(金) 15:47:170465名無しさん@お腹いっぱい。
2009/06/05(金) 15:57:15>>462 がそれに反応したんだろう
いずれにしても Solaris8のごく短期間のpatchレベルにおける過渡現象だろう。
0466名無しさん@お腹いっぱい。
2009/06/05(金) 15:59:13パッチ番号わかったら教えて
(当然ながら、今のSolaris8では再現しないので)
0467名無しさん@お腹いっぱい。
2009/06/05(金) 16:23:20忘れ物だ。
22 /*
23 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
知らないようだから一つ言葉を教えてあげよう。派生物。は・せ・い・ぶ・つ。
0468名無しさん@お腹いっぱい。
2009/06/05(金) 16:31:280469名無しさん@お腹いっぱい。
2009/06/05(金) 17:33:46おまえ、バカだろ、正味。オリジナルはどれを指すのか、と聞いてるんだ。
もちろんこの文脈で、だ。
Unix V7の 16bitのやつだけ、っていうんなら bashも全く非互換だろうが。
bashの評判ボロボロにしたくてやってんのか? あ?
0470名無しさん@お腹いっぱい。
2009/06/05(金) 17:41:410471名無しさん@お腹いっぱい。
2009/06/05(金) 17:54:57つb115
ttp://www.opensolaris.org/os/downloads/
0472名無しさん@お腹いっぱい。
2009/06/05(金) 21:25:47@ABCD`_など
0473名無しさん@お腹いっぱい。
2009/06/05(金) 21:33:412行目、「など」の左側に何か書いてありますか?
0474名無しさん@お腹いっぱい。
2009/06/05(金) 21:39:250475名無しさん@お腹いっぱい。
2009/06/05(金) 22:04:09「氏ね」「むしろイキロこのタコ」と書いてあるんだよ。君に向けて。
■ このスレッドは過去ログ倉庫に格納されています