はじめましてnyaと申します。よろしくお願いします。 質問があります。 ファイルのなかにコマンドをいれておいて 実行出来るようにパーミッションを変更したら ファイルの中のコマンドを実行してくれますよね。 そこで、「cd」をおこなったら、ファイルが終了 したときにファイルを実行したディレクトリに もどってます。これを、実行しおわったらその移動先の ディレクトリにする方法はないでしょうか? 説明がよく分からない質問だとは思いますが よろしくお願いします。 |
> 以下の問題解決しました。 簡単にでいいから、どういう風に解決したか書くといいと思います。 > sendmailのバージョンを sendmailのバージョンって調べにくいんですよね。 SMTPサーバとしてsendmailを動かしているなら、telnetを使えば % telnet ホスト名 smtp 220 ホスト名 ESMTP Sendmail 8.8.8/8.8.8; Fri, 9 Jul 1999 16:06:17 +0900 (JST) などと表示されるはずです。 > ファイルのなかにコマンドをいれておいて 要は、スクリプトの中でchdir(cd)したとき、そのスクリプトが 終了した後に、カレントディレクトリが戻らないようにしたい、 ということですか? だとしたら無理です。シェルがスクリプトを実行すると新しい プロセスが生成されますが、カレントディレクトリはプロセスごとの 固有の情報ですので、スクリプト(子プロセス)の中でカレント ディレクトリを変更しても、シェル(親プロセス)には影響を 与えません。 解決方法はない…と思います。多分。 |
68userさん、ありがとうございます。 質問の意味はその通りです。 無理なんですか・・・。わかりました。 これからもよろしくお願いします。 |
68userさん、ありがとうございます。 質問の意味はその通りです。 無理なんですか・・・。わかりました。 これからもよろしくお願いします。 |
2重投稿してしまいました。 どうもすみません。気にしないでください。 |
>> 以下の問題解決しました。 >簡単にでいいから、どういう風に解決したか書くといいと思います そうですね。 まあ簡単なことで、gzipをインストールしたディレクトリのパス(/usr/local/bin/gzip ….gz)を付け加えないで、そのまま(gzip … .gz)打ち込んでいたために解凍できなかったようです。 そんなこんなで今sendmail.cfをCFツールを用いて編集しています。 そこでもまたいろいろな問題があがってきています。 そのことについてはまた後日質問させていただきます。 初歩的な質問ばかりでうんざりだと思いますが、そこをあえてよろしく お願いします。こっちも知ってることがあったら(薄い知識しかありま せんが)極力答えていきたいと思います。 お互いがんばりましょう!! |
こんにちは。 sendmail.cfファイルをCFツールを使って作成しようとして いるのですが、'****.def'を編集した後'make ****.cf'で .cfファイルが生成されるはずですが'`****.cf' is up to date.' というメッセージが出るだけでモノが生成されません。 なにかMakefile内での編集が必要なのでしょうか? perlのディレクトリ設定はしてあります。 なお現在使っているCFツールは'CF-3.7Wpl2.tw.gz'を解凍したもの です。 よろしくお願い致します。 |
はじめまして、GLINDAと申します。いつも参考にさせて いただいております。 HP-UX10.20をVUE環境にて使っているのですが、 ログイン時にいちどだけ走らせたいスクリプトを作り、 .loginに入れてみたのですが動いてくれません。 (.vueprofileのVUESOURCEPROFILEはtrueにしてあります) 初期プログラムは/bin/cshで、.cshrcでパスを通していますので そのあとであればスクリプト実行の記述は.loginの中でなくとも かまいません。 いろいろ調べたのですがわからなくて、とても困っています。 なにか解決方法があったら、どうか教えていただけないでしょうか。 よろしくお願いします。 |
> '`****.cf' is up to date.' 一般的に - tar zxvf CF-3.7Wpl2.tar.gz で展開して - cd CF-3.7Wpl2 で移動して - make cleantools、make tools して - make samples して - 好きなファイルを cp Standards/sendmail-*.def sendmail.def でコピーして (CF-3.7Wpl2の直下にコピーすること) - sendmail.defを適当に編集して - make sendmail.cfを実行すると sendmail.cfが作成される - sendmail.defを編集しないまま makeすると、sendmail.cfが sendmail.defより新しいのでup to dateとなる というところだと思いますが、ここらへんをちゃんとやってるなら ちょっとわかりません。 > GLINDAさん HPもVUEも知りませんが(VUEってナニ?)、~/.login に setenv HOGE fuga などと書いて、本当にその部分が実行されているか調べてみてはどうですか? % printenv HOGE fuga となるなら、スクリプトの記述ミス、と。 |
68userさん、返答ありがとうございました。 もう一つ質問させて下さい。 とりあえず'****.def'を編集して、makeをかけたのですが、以下のよ うなメッセージが出てしまいます。 MASTERDIR=./Master TOOLDIR=./Tools \ ./Tools/Configure sendmail.def > sendmail.cf.tmp UX:sh (sh):エラー:./Tools/Configure:実行できません. *** Error code 1 (bu21) make: fatal error. sendmail.cf.tmpというのはできています。 Configure内を編集しなければならないのでしょうか? マニュアルにはtoolディレクトリ内のsendmail.cf作成用ツールを自分 のPCの環境に合わせてくれとかかれていますが、それと関係があるのでしょうか? よろしくお願いします。 |
> 68userさん、返答ありがとうございました。 解決しましたか? 回答が役に立ったら「〜の部分が抜けていた」とか 「〜をしていたがこれが余計だった」などと書いてください。 原因が別のことだったら、その原因を書いてください。 こっちもこういうやりとりを通じて知識を得たいので、 聞きっぱなしは ご勘弁を。 > makeをかけたのですが、以下のようなメッセージが出てしまいます。 どこでこけてるのかわかりませんが、Configure は shスクリプトなので、 % env MASTERDIR=./Master TOOLDIR=./Tools ./Tools/Configure sendmail.def % env MASTERDIR=./Master TOOLDIR=./Tools sh -x ./Tools/Configure sendmail.def などとしながら原因を切り分けてみては。 |
> 68userさんへ 投稿したときの状況としては解凍・展開してできた(68userさんが示していた手順で)STANDARDディレクトリ内の適応する***.defファイルをCF-3.7Wpl2 ディレクトリにsendmail.defとしてコピーしviで編集しCF-3.7Wpl2 ディレクトリ内でsendmail.cfをmakeしたところで下のようなメッセージが出ていました.それに加えてMAKEFILE内のPERLの存在するディレクトリを編集したのですが、make toolsを実行した時点でNOT FOUND PERL と言うメッセージが出るのも気になります。 投稿したあと自分のほうで調べてみたのですが、setenvで現在の環境を確認してみたのですが、シェルの部分がSHELL=/sbin/cshとなっていました。Configure内をみてみると、どうやらshの方を使おうとしているようなのでcshではなくshを使うように環境を変えなければならないのではとは思っていましたが設定を変えてみても(完全に変わっているか疑問)、Configure内の頭の部分、PATHなどを変えてみましたがうまくいかず、結局バージョンの古いCFがOSの付属についてきたCDROMに入っていたのでそれでもう一度チャレンジしている途中です。こっちの方はmake tools実行時のPERLの参照もうまくいき、Configure内もCF-3.7Wpl2のものとPATHなどが異なっているのでこっちで一回試してみようと思います. それでだめなようであれば、68userさんの今回示してくれた手順で試してみたいと思います。 |
> 68userさんへ 68userさんのいう通りに環境を変えようとしましたが、 肝心のConfigureの部分だけ許可を与えられていないと拒否されてしまいます。(以下のメッセージ) UX:env:エラー:許可を与えられていまん.: ./Tools/Configure 許可ははずす事が可能なのでしょうか? なお、CFツールはshとPerlは必須のようです。 よろしくお願いします。 |
68userさん、レスありがとうございました。 setenv文を入れて実行したところ、.loginが 起動していないということがわかりました。 >HPもVUEも知りませんが(VUEってナニ?)、 VUEというのは、HP-UX上で動くグラフィカル・インターフェースで Visual User Environment の略称です。AIX等では同等の機能を CDEと呼んでいます。 DOSに対するウィンドウズシステムのように、コマンドをアイコン/ボタン 化して使う環境のことです。説明不足ですみませんm(__)m .loginが動かないのは、どうやらこのVUE環境の設定がよくない ようなのです。前回の質問で「VUESOURCEPROFILE="true"にしてある」 と書いたのですが、この設定が有効であれば.loginを起動するはず なのにされていない…設定ファイルの書式に間違いがないか、 調査中です。 |
> AIX等では同等の機能をCDEと呼んでいます。 なるほど。なんとなくわかりました。 最初の一回だけ実行すればいいのなら、~/.cshrc に if ( $?FIRST_FLG ) then command setenv FIRST_FLG endif などと書くという手もあります。$prompt や $shlvl(これはtcshだけかな?) を使ってもいいでしょう。 > UX:env:エラー:許可を与えられていまん.: ./Tools/Configure chmod +w ./Tools/Configure してもダメですか? |
>68user さん .cfファイルできました。(まだ.defの方の設定が適当なので.cf内は空っぽですがとりあえず現れました・・・) Tools/Configureファイルが実行形式になっていなかったので >chmod +x Configure と入力して、なおかつsetenvコマンドでSHELLの設定をshのあるパスに変更してmake *****.cfしたら.cfファイルができました。 これからちゃんとした設定をしよう思います。 またこの件で解らない所がありましたらお邪魔します。 ありがとうございました。 |
こんにちは。 *****.defファイルの設定をしているのですが、 各設定のコメントというのは設定の必要内もの についてもはずさなければいけないのでしょうか? |
マニュアル読んでます? README.jpn には 多くのホストで共通な最小限度の設定については doc/INTRO.jpn を、 詳細な設定の説明については doc/MANUAL.jpn を参照してください。 と書いてありますが、doc/INTRO.jpn、doc/MANUAL.jpn を読みましたか? |
ありました. 何とか設定できそうです. .cfファイルもちゃんと現れました。 後は現在使っているサーバーと全く 同じ設定にしなければなりません. がんばります.ありがとうございました. |
こんにちは。 viでファイルの中身を編集しているのですが、 '@'を入力しようとすると入力が解除されてしまいます。 どうすれば文字として認識してくれるのでしょうか? よろしくお願い致します。 |
xwindowの画面全体を画像保存する方法を教えてください。 それにしても、そんなこと、可能なのでしょうか? |
>くにろぅさん レスありがとうございました。 画像保存とありますが具体的にどう行ったことを やるんでしょうか。(面倒なら結構です.) もうひとつUNIXサーバーがあるのですが、 そっちのほうは'@'は問題なく入力できます. 今、sendmail.cfの編集をしているのですが、 どうしても'@'を入力できないと先には進まないのです・・・ よろしくお願いします. それから、どなたか使えるsendmailについてのページ、書物などを ご存知でしたら教えてください. |
> '@'を入力しようとすると入力が解除されてしまいます。 うちの環境では@も普通に使えましたが…。「入力が解除」ってどういう意味ですか? viは2つのモードを切替えて使うものだということはご存知ですか? > xwindowの画面全体を画像保存する方法を教えてください。 http://X68000.startshop.co.jp/~68user/unix/pickup?xwd http://X68000.startshop.co.jp/~68user/unix/pickup?import などを使います。 % xwd -root > image.wd % convret image.wd image.gif |
> そっちのほうは'@'は問題なく入力できます. ああ、基本的な使い方は大丈夫なんですね。ならばちょっと僕にはわかりません。 where viして、いろんなviを試してはどうでしょうか。 # あるいはemacs/muleを使う、と :-) |
'@'の入力できました '\'→'@'といれるとできました。 UX/4800のみに起こる現象らしいです。 >68userさん 返答ありがとうございました >「入力が解除」ってどういう意味ですか? @を入力すると入力できなくなり、ESCキーで抜けた状態に なってしまうという事です。 |
> レスありがとうございました。 > 画像保存とありますが具体的にどう行ったことを > やるんでしょうか。(面倒なら結構です.) はい。.gif fileなり、なんなりにして画像保存したいとおもっているのですが・・・。 無理なんでしょうか。もし成功したらなんか、homepageの壁紙にでも・・・とか。 |
> 無理なんでしょうか。 回答してるじゃん…。 % xwd -root > image.wd % convret image.wd image.gif 試してみましたか? convertがなければxvでも可。ただし色が壊れるかも。 |
こんにちは 質問があるのですが、SOCKS5というものをご存知でしょうか? socks5-v1.0r9.tar.gzというものを解凍して、新たにできた ディレクトリの中に入り、その中で >./configure を実行 その後 >make all と実行すると ld: fatal error: Symbol referencing errors. No output written to socks5 *** Error code 1 (bu21) make: fatal error. *** Error code 1 (bu21) make: fatal error. というメッセージてその後 >make install としても同じエラーが出て/etc/socks5.confが作成されません。 新たにできたディレクトリ以下のMakeflieを見てみたのですが premixがMakeflieで指定されているディレクトリに存在しないの も気になります。 もしこの件についてご存知でしたらよろしくお願いします。 |
みなさんはじめまして。 仕事中にちょくちょくみさせてもらっていますが、 なかなか活発(?)な掲示板ですね。 それで、質問ですがsolaris2.5.1でリモートホストに 接続されたCD-ROMドライブをローカル側で使うときは 「share」「mount」コマンドを使いますが、 HP-UXではどんなコマンドを使うのか、知っている方が いらっしゃいましたら教えていただきたいのですが。 ローカル接続すればいいといわれてしまうと それまでですが...(^^;) |
> なかなか活発(?)な掲示板ですね。 書き込みはあっても、解決に結び付くことがあまりないのが痛いですが(^^; # なので、ほんとにお困りの場合は fj などで聞いてくださいね。 > リモートホストに接続されたCD-ROMドライブをローカル側で使うときは > 「share」「mount」コマンドを使いますが、 すいません。全くわかりません。SolarisってamdとかNFSとかじゃなくて、 リモートからCD-ROMをマウント/アンマウント/参照したりするんですか? > ld: fatal error: Symbol referencing errors. No output written to socks これだけの情報では リンクの段階でこけてます。configureの時点でおかしいか、 ライブラリがおかしいか、適切なライブラリを見てないか、 変なコンパイラ/リンカを使っている、などが原因が考えられる。 としか言えません。でも、ldってこれくらいのエラーしか 表示しないんだっけ…。 > premix prefix? 「Makefileのprefixで指定されているディレクトリが存在しない」と 言いたいんでしょうか。 |
>prefix? 「Makefileのprefixで指定されているディレクトリが存在>しない」と >言いたいんでしょうか。 そのとおりです.prefixってファイルが存在するのでしょうか? |
「prefix=接頭辞」。そのプログラムをインストールするトップディレクトリ。 例えば prefix=/usr/local なら、バイナリは/usr/local/bin に、ライブラリは /usr/local/lib に、マニュアルは /usr/local/man にインストールされる ということです。prefix が何なのかわからなければ、Makefile をエディタで 開いて prefixで検索しましょう。そしたらなんとなく意味がわかると思います。 |
はじめまして。こんにちは。 こちらのサイトに来るのは今日が初めてですが、内容が充実していて 大変参考になるサイトですね。 今後も利用させて頂こうと思います。 さて、さっそくですが、質問をさせてください。 X Window System に関する質問ですが、現在、X11R5からX11R6への バージョンアップを考えています。 バージョンアップに際して、仕様の変更箇所( 特にXlib のライブラリ 関数について )を調べているのですが、詳細が記述されている書籍や ホームページなどがなかなか見つかりません。 変更個所などの具体的な記載はありませんでしたが、X11R5 から X11R6 へのバージョンアップでは、Xlibについては特に仕様変更は無いように 感じました。 具体的にどのような点が変更されているのか、ご存知でしたら 教えてください。 |
> 詳細が記述されている書籍やホームページなどがなかなか見つかりません。 Xの規格を決めてる OpenGroup の、Xについての部分 http://www.opengroup.org/tech/desktop/x-window-system/gettingx.htm X11R6のリリースノート http://www.opengroup.org/tech/desktop/x-window-system/r6.1doc/relnotes/relnotes.htm リリースノートの「What Is New in Release 6」 http://www.opengroup.org/tech/desktop/x-window-system/R6doc/relnotes/chap4.html あたりでしょうか。Xlibに関してどういう関数が追加されたとかも 書いてあります。これ以上の細かいことは ftp://ftp.u-tokyo.ac.jp/pub/X11R6/ (最新版はR6.4です) などから落としてきて、実際のソース/manを見るしかないと思います。 # ちなみにXIEとは何ですかとか聞かれても、僕はわからんです。 > Xlibについては特に仕様変更は無いように感じました。 もちろんR5とR6では上位互換性はありますので、R5で作ったバイナリも ほぼ100%動くでしょう。 あと、R6について説明してある日本語の書籍は出ていないと思います。 |
> 68userさん 早々のご回答、ありがとうございます。 欲しかった情報そのままのページでしたので、大変助かりました。 英語が苦手なので、翻訳ソフトなどを使ってがんばってみます。 ありがとうございました。 |
音々です。 Xに関して、R5, R6は上位互換であることが確認でき、Xlib, Xt, Xaw での 作成部分は移行後そのまま利用できそうです。 ただ、ウインドマネージャ( OSF/Motifを使用しています。 ) に依存する部分、 ( Xm の Widgetセットを利用している部分) に関して確認ができていません。 Motif は、R1.0 から R1.2 へのバージョンアップを考えていますが、 こちらも資料が乏しく、詳細が不明です。 関連するホームページなどございました、是非、教えてください。 |
いや〜、Motifは知らんです。ただ、WidgetセットごときでR6の 機能を使っているか、と言えばちょっと疑問ですね。大丈夫じゃ ないでしょうか(無責任)。とりあえずR6(/usr/X11R6/に)を インストールして、様子を見てみるのはどうでしょう。 ところでXサーバはどこのを使ってるんですか? あと、Motifが必要なウィンドウマネージャって何でしょう? |
失礼しました。説明が解り難くかったですね。 今回は、Motif の R1.0 から R1.2 へのバージョンアップ (X との依存ではなく単に Motif に関する内容) について、 何か資料があれば教えて頂きたいと思いました。 > R6(/usr/X11R6/に)をインストールして、様子を見てみるのはどうでしょう。 そうですね、現在のところ、実際に動作させてから詳細を確認しようと、 考えていますが、事前に調べられるところまで調べておこうと思いまして。。。 >ところでXサーバはどこのを使ってるんですか? 現在問題があって手元にはありませんが、SunOS です。 >あと、Motifが必要なウィンドウマネージャって何でしょう? ウィンドウマネージャに、Motif(mwm)を使用しているという意味です。 |
うーん、MotifとはHPが作ってOSFにゲタをあずけたもの、という くらいしかしらないのですが、 http://www.opengroup.org/tech/desktop/ordering/#motif http://www.opengroup.org/tech/desktop/motif/xjournal.htm あたりでしょうか? でも 2.0 とか言ってますので、大外れかも しれません。 > ウィンドウマネージャに、Motif(mwm)を使用しているという意味です。 あ、そっか。mwmってMotif使ってるんですね。 |
>> なかなか活発(?)な掲示板ですね。 >書き込みはあっても、解決に結び付くことがあまりないのが痛いですが(^^; ># なので、ほんとにお困りの場合は fj などで聞いてくださいね。 >> リモートホストに接続されたCD-ROMドライブをローカル側で使うときは >> 「share」「mount」コマンドを使いますが、 >すいません。全くわかりません。SolarisってamdとかNFSとかじゃなくて、 >リモートからCD-ROMをマウント/アンマウント/参照したりするんですか? 68userさん、レスどうもです。 ユ○シスとこちらと、どちらが回答が早いかな?というぐらいの 気持ちだったもので、とても困っているわけではありません。 でも、ユニ○スは1ヶ月たっても回答をくれない(;;) |
>http://www.opengroup.org/tech/desktop/ordering/#motif >http://www.opengroup.org/tech/desktop/motif/xjournal.htm >あたりでしょうか? でも 2.0 とか言ってますので、大外れかもしれません。 そうですね。2.0やCDEに関する情報は多いのですが、 やはり旧バージョンの情報は少ないようですね。 今回、X11R5 と X11R6 が上位互換であることが確認でき、 Xm の Widgetセットを利用している個所はそれほど多くないので、 移行は比較的スムーズに行えそうです。 後は、実際に動作させて確認してみます。 いろいろとありがとうございました。 |
こんにちは。またまた質問です.お願いします。 コマンドライン上でrcpを行うとうまくいくのに、 ファイルの中に書いて行うと「文法があいまいです」 といわれて実行出来ません。 「文法があいまいです」とはいったい何が間違っている のでしょうか?よく意味がわからないです。 rcp フルパスのファイル名 サーバ名:転送先のディレクトリ であっていると思うのですが。 それとも、$argvなどで指定しているのがわるいのでしょうか? 前までは、上手くいってたのですが・・・。 わかりにくいとは思いますがよろしくお願いします。 |
> それとも、$argvなどで指定しているのがわるいのでしょうか? くさいですね。csh では % echo $user:/dir などはエラーになります。シェル変数の後の : は修飾子(?)だから。 正解は ${user}:/dir。 これ以上は、何を使ってスクリプトを書いているのか(sh? csh?)、 実際はどういうふうに記述しているのか、$argvの中の値は何か、 などを書いていただかないと何とも言えません。 そうそう、この前のシェルのカレントディレクトリですが、 一つ方法がありました。evalを使う方法です。 % cat mycd #!/bin/sh echo 'cd /' % pwd /usr/home/user % eval `mycd` % pwd / % cd /usr/home/user % alias mycd \`\\mycd\` % mycd % pwd / ただしスクリプト中では、cd 以外の出力をしてはいけません (STDERRになら出力できます)。 |
> ただしスクリプト中では、cd 以外の出力をしてはいけません 間違い。echo文 自体を出力すればできますね。 #!/bin/sh echo 'echo hoge;' echo 'cd /' |
システムコールについて調べているのですが、 OS毎に、システムコールに違いがあります。 SystemV Release4.0(SVR4.0) の 全システムコールの種類を 知りたいのですが、どこかに情報はありませんでしょうか? |
こんにちは 今、qpopper2.53というPOP3でメールを受信できるようにする モジュールをインストールしているのですが、 解凍して、./configureをかけた際、 loading cache ./config.cache checking whether make sets ${MAKE}... yes checking for gcc... gcc checking whether the C compiler (gcc ) works... no configure: error: installation or configuration problem: C compiler cannot create executables. というメッセージがでてMakefilesなどのファイルが生成されません。 Cコンパイラがconfigureのプログラムを実行可能にしてくれないらし いのです。 LIBSの設定は"-lsocket -ldl -lnsl"と設定してあります。 ccというのが/usr/abiccs/necbin 内にあったので、 そのパスを指定したのですが、いざ中身をviでみてみたら #!/sbin/sh #ident "@(#) cc.m4,v 1994/01/26 06:37:31 1.3" /usr/abiccs/bin/cc -Kssizeof -Yi,/usr/abiccs/necinclude -YP,/usr/abiccs/neclib:/ usr/abiccs/lib:/usr/lib "$@" -lnec という感じになっていました。 どうもこのようなモジュールやツールなどを解凍、インストールする時 ドキュメント通りにはいきません。 UX/4800特有の設定などをしなければならないのでしょうか。 それから、CC コンパイラはどこかで手に入れられるものなのでしょうか? よろしくお願いします。 |
> SystemV Release4.0(SVR4.0) の 全システムコールの種類を > 知りたいのですが、どこかに情報はありませんでしょうか? すいません、知らないです。SVR4と言ってもいろいろありますから、 全部調べるとなると大変でしょうね。 > ccというのが/usr/abiccs/necbin 内にあったので、 あぁ、ずっと HP-UX かと思ってたら、NECのUXだったのね。 > そのパスを指定したのですが、いざ中身をviでみてみたら スクリプトでもバイナリでも、要は動けばいいんです。 で、動いたんですか? ちなみに /usr/abiccs/necbin/cc は ANSI C準拠コンパイラだと思います。 > それから、CC コンパイラはどこかで手に入れられるものなのでしょうか? そのシステムにgccは入ってませんか? ないようなら ftp://ftp.eos.hokudai.ac.jp/pub/gnu/gcc/ から お好きなバージョンをどうぞ。2.8.1あたりが安定してるんでしたっけ? ユニ男さんへ。僕が UX 知ってるなら教えてあげられるけど、 残念ながら使ったことがないし、これまでいくつか回答しましたが どうも的外れな答えしか書いてないような気がします。近くにUNIXを 知ってる方がいたら その人に質問するか、あるいは fj.unix などで 質問する方がいいと思います。 |
いつもお世話になってます。 >あぁ、ずっと HP-UX かと思ってたら、NECのUXだったのね。 UX/4800なんです。周りにあまり聞ける人がいなくて・・・ >スクリプトでもバイナリでも、要は動けばいいんです。 >で、動いたんですか? ちなみに /usr/abiccs/necbin/cc は >ANSI C準拠コンパイラだと思います。 動きませんでした。 >そのシステムにgccは入ってませんか? ないようなら > ftp://ftp.eos.hokudai.ac.jp/pub/gnu/gcc/ >から お好きなバージョンをどうぞ。2.8.1あたりが安定してるんでし >たっけ? GCC入っています。PATH指定しても下のメッセージが出てしまいます. 稼動していないみたいなんです。 >どうも的外れな答えしか書いてないような気がします。近くにUNIXを >知ってる方がいたら その人に質問するか、あるいは fj.unix などで >質問する方がいいと思います。 そんなことありません。とても参考になります。こちらこそあやふやな質問ばかりで迷惑をかけているのではないか常日頃思っています。 >近くにUNIXを知ってる方がいたら その人に質問するか、あるいは >fj.unix などで質問する方がいいと思います。 fj.unix ですね。探していってみたいと思います. ちなみにSOCKS5の件ですが、 setenv LIBS "-lsoket -ldl -lnsl" として./configure→makeで解決しました。 |
>すいません、知らないです。SVR4と言ってもいろいろありますから、 >全部調べるとなると大変でしょうね。 米国Sun社のサイトにありました。ご参考まで。 http://www.sun.com/smcc/solaris-migration/docs/transition-guide_2.5/apx_b.html |
CGIのファイルをサーバにおいて パーミッションを変更しようとすると、 下のように出て変更できません。 502 SITE command not implemented. どなたか助言をお願いします。 |
はじめまして、かんじゃと申します。 こちらのホームページで 「UNIXネットワークベストプログラミング入門」技術評論社 が紹介されています。 じつは小生もこの本のプログラムを 実行してみたのですが seg fault のメッセージが表示され てうまく実行できません。 >文字列リテラルを書き換えており、 FreeBSDで >実行するとコアダンプしてしまった(どちらもC >言語中級者なら 自分で問題箇所を修正できるレベル)。 というコメントが書かれておりましたが、具体的にはどういった ことが問題なのでしょう? よろしければご教示、お願いします。 |
はじめまして、かんじゃと申します。 こちらのホームページで 「UNIXネットワークベストプログラミング入門」技術評論社 が紹介されています。 じつは小生もこの本のプログラムを 実行してみたのですが seg fault のメッセージが表示され てうまく実行できません。 >文字列リテラルを書き換えており、 FreeBSDで >実行するとコアダンプしてしまった(どちらもC >言語中級者なら 自分で問題箇所を修正できるレベル)。 というコメントが書かれておりましたが、具体的にはどういった ことが問題なのでしょう? よろしければご教示、お願いします。 |
メールアドレスの記入ミスで同じ内容のものを2度書き込んで しまいました。 申し訳ありません。 |
> 502 SITE command not implemented. FTPでのパーミッションの変更は、SITEコマンドを使用するんですが、 相手側のFTPサーバにはSITEコマンドが実装されていないので、 できない、ってことです。telnetでログインしてchmodするか、 管理者に頼んでまともなFTPサーバに置き換えてもらうしかないです。 > seg fault のメッセージが表示されてうまく実行できません。 現在、手元には その本もUNIX環境もないので、確かなことは 言えませんが、どこかで char *buf="abc" などと初期化して いる部分があると思います。で、それを buf[0]='X' などと 変更していますが、そこで落ちるはずです。"abc" は文字列 リテラルなので変更することはできないから(変更できる 環境もありますが)。なので、char buf[]="abc" などと書き 換えれば動いたと思います。 *buf="abc" と buf[]="abc" の違いについては、ネット上に 落ちてる「C言語FAQ」に詳しく書いてあります。 |
>> seg fault のメッセージが表示されてうまく実行できません。 > 現在、手元には その本もUNIX環境もないので、確かなことは > 言えませんが、どこかで char *buf="abc" などと初期化して > いる部分があると思います。・・・以下省略 さっそくのご教示ありがとうございます。 以上参考にさせていただき、さらに修行していきます。 |
文字列リテラルは、昔のCでは、結構普通に書き換えたりしてたみたいです。 unixの古いccのライブラリでも、この書き換えをやっているという話を聞いたことがあります。 (聞いたのは、一時ファイルの名前を作るライブラリ関数だったような…) ANSI C以前は、自動変数の場合には、配列の初期化ができなかったために、 便宜的に利用してたのかもしれません。それとも、スタックに文字列を確保しても、 これを関数の呼び出し元に返すことはできないので、mallocを使う代わりに 静的領域を利用してたのかな…にしても毎回同じ領域が使用されるので、 static にすれば済むことって気も…? いずれにしても、ROM化やコンパイラが同じ文字列リテラルを共用させるために、 ANSI C以降は、文字列リテラルの変更は未定義とされたようです。 |
> いずれにしても、ROM化やコンパイラが同じ文字列リテラルを共用させるために、 に加えて、複数プロセスでデータセグメントを共有させるため、 例えば ls を並行して2個実行した場合、スタックとヒープは 2個用意されるが、データセグメントは1個しか用意されない、 と思ってるんですが、全然違うかも。 # アセンブラやってないんで、ここらへん いまいち感覚的に理解できない。 |
>に加えて、複数プロセスでデータセグメントを共有させるため、 DOSが長いもので、マルチプロセスのメモリ管理はよく分からないです(苦笑)。 >例えば ls を並行して2個実行した場合、スタックとヒープは >2個用意されるが、データセグメントは1個しか用意されない、 とすると、文字列リテラルだけでなく、静的な変数まで共有される 訳ですよね。 素人考えでは、ホントにそれで良いの?と思っちゃいます… 例えば、コマンドラインオプションで設定されるフラグが グローバル変数だったりすると(あり得ますよね)、前後のlsの オプション指定が異なる場合に、先のlsのフラグまで影響を 受けちゃうおそれがないのかなぁ…? |
すいません、よく考えずに適当なことを言ってしまいました(^^; では、2個のlsで共有される領域は何だろう? |
>では、2個のlsで共有される領域は何だろう? うーん、unixのメモリ管理はよく知りませんです(苦笑) |
ここすごいですねっ!内容がすごく充実しててびっくりしました。<BR> 分からないことがあったら来てみようと思います。<BR> ところで質問です。<BR> ○○○.zip のようなファイルはどうやって解凍すればいいのでしょうか?<BR> gzip -d とか uncompress も試してみたけど、やっぱりだめでした。<BR> UNIXでは解凍できないんですか? |