68user's page 掲示板

Prev< No. 151〜180> Next  [最新発言に戻る] [過去ログ一覧]
No. 151 # M.Masuda 1999/02/17 (水) 22:57
こん**は。

>>管理者が居なくて、ほったらかし状態。
> 仕事やりながら管理するってきびしいと思いますよ
本来私の管轄では無いので最近本末転倒してますが、他に管理している
人間がいないので、勉強がてらにいろいろな情報を物色しています。
#アー目が痛い!

>>IPがunknownって出る奴が有るのですが
> これ何なんでしょう 知りたい(爆)
ねらわれたサーバーのsecereに、
Feb 8 04:15:36 ns in.fingerd[2730]: refused connect from unknown
こんな風に出ます。
ここ1ヶ月のfingerだけで66回もです。
#最近telnetのアタックは減りましたがいまだにphfアタックは...。

セキュリティー関係と、通信パケットについて詳しく解説指定ページが
ありましたので紹介させていただきます。
http://www.3ware.co.jp/security/index.html
ここで詳しく説明されてます。常時接続の方の参考までに。

このサイトにはLinuxについても詳しく書いてあり、前から疑問だった
起動時の設定ファイル(Winで言うところのAUTOEXEC.BATかな)も分かった
し、ずいぶん勉強になりました。

>Linuxはデフォルトでshadow化されていないのが不思議。
近いうちに実験用サーバーに実装する予定です。
#できるかな〜、その時はまた教えて下さい。(^^ゞ

>sshは暗号化したデータを送るので、パケットを覗かれても大丈夫なのです。
telnetの23はルーターで塞いであるし、LAN内でのアクセスなんであまり必
要性が無いですが、これも時間が出来たら試験的に導入してみたいですね。

No. 152 # ABCDEFG 1999/02/18 (木) 20:50
>Feb 8 04:15:36 ns in.fingerd[2730]: refused connect from unknown
見たことないです。
#といってもアタック(スキャン)自体あまりないから知らないだけ
パケット覗いてみては?
>telnetの23はルーターで塞いであるし
・・・内部犯行・・なんて無いですよね(笑)

No. 153 # M.Masuda 1999/02/19 (金) 00:51
どうもです。ABCDEFGさん。

>・・・内部犯行・・なんて無いですよね(笑)
ははは、それは無いです。

mad.leenux.com ってとこと ugly.bastard.co.uk の2ヶ所から
進入してます。

そのクラチャンですが、ちょいと弄られた前のディスクの中を覗いて見たら、
隠しディレクトリに、いくつかのクラックソフトをお土産においっててくれ
たみたい。(^^ゞ
#俺ホントはこんなことやってる暇無いんだけどなぁ...
#まいっか!

入られてた時、マシンに負荷が掛ってるので、おかしいなって皆で言って、何
度もリブートかけていたんです。

それでも重いので変だと思い、最近作られたファイルを探したところ発見し
ました。

どうもそのマシンで、あちこちのネームサーバーを探してたみたいで、その
履歴が残っていました。

皆さんも気を付けて下さい、自分のマシンだけならフォーマットするとか出
来ますけど、踏み台されちゃ悔しいですからね。(^^ゞ

でわでわ。

No. 154 # ROL 1999/03/02 (火) 00:45
どうもごぶさたしてます>お師さん
で、過去ログその後ですが…すみません、諦めました。

理由その壱
メインでNETに繋がってるのがMacなわけなんですが、
こいつのtelnetアプリケーションがAppleScript等に対応しない物ばかりで
telnetでの自動化は不可能という結論に達しました。
理由その弐
ブラウザからの起動も考えたんですが、CPUをG3化してあるせいなのか、
2台繋いでいるHDDの片方を認識しないまま起動することが多く、
起動するHDDが特定できない、もしくは手動で再起動しないとOSが起動しないことすら
ある状態です。

スクリプト自身はきちんとサーバー上で動いているんですが、
どうにも自動化のメドが立ちません。
いろいろご指導いただいた上になんなんですが、ここで正式に
過去ログ作成を断念したことをお伝えする次第です。

No. 155 # UNIXbeginner 1999/03/05 (金) 17:31
はじめまして。みなさん、UNIX超初心者の者ですがよろしくおねがいします。
実は今年からUNIXを習っているのですが、全然分かりません。特にShellの
プロセスのあたりというか、スタンダードインプット、アウトプット、
エラーとの兼ね合いとか。。????
だれか、教えて頂けるか、良いウエブや本を紹介して頂けませんか?
よろしくお願いします。
メールでもOKです。non100@excite.co.jpです。

No. 156 # 68user 1999/03/07 (日) 00:00
> ここで正式に過去ログ作成を断念したことをお伝えする次第です。

それは残念。過去ログうんぬんより、いままでプログラムを書いたのに
結局うまくいかないとわかったときは がっくりきますね。


> Shellのプロセスのあたりというか、スタンダードインプット、アウトプット、
> エラーとの兼ね合いとか。。????

え〜、もうちょっと範囲をしぼっていただけると答えられるかもしれませんが、
範囲が曖昧なので…(さすがにそのあたりを全部説明するのはつらいです)。

「どこがわからないのか自分でもわからない」という状態なら、
    The UNIX Super Text(上・下) 技術評論社 上下巻それぞれ3500円くらい
がいいんじゃないでしょうか。

古いし(6年くらい前かな)、値段が高い、と評する人もいますが、
僕はお勧めします。ただし買うのは上巻だけでいいと思います。

No. 157 # テツ 1999/03/07 (日) 15:23
はじめまして。

初歩的な質問なのですが、UNIXのコマンドで
現在のディレクトリ以下のファイル(下位ディレクトリ内のファイル含む)の中から
ある特定の拡張子だけ、検索するというコマンドってありますか?

ぜひご教授ください。

No. 158 # 68user 1999/03/07 (日) 21:00
カレントディレクトリ以下から、拡張子が txtというファイルを
探したいなら、
    % find . -name \*.txt
カレントでなく、/hoge以下を探したいなら、
    % find /hoge -name \*.txt
などがあります。locateが使えるなら、
    % locate .txt| grep .txt\$ | grep `pwd`
ってのもアリかも。

# http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#find
# http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#locate

No. 159 # テツ 1999/03/08 (月) 23:32
68userさんありがとうございました。
早速試してみます。
これからもなにかありましたらよろしくお願いします。
ではでは!

No. 160 # サチ 1999/03/10 (水) 12:30
はじめまして。
今回久しぶりにTELNETにログインしたら、
FreeBSD 2.2.7-RELEASE (BASE) #2: Wed Dec 23 11:45:56 JST 1998
というメッセージがでてきました。
超初心者のうえ、久しぶりなので、何がなんだか分かりません
これは、そのままにしておいても大丈夫なものなんでしょうか?

No. 161 # 68user 1999/03/10 (水) 17:39
それは、「このOSはFreeBSDだよ」というただのメッセージです。

ついでに書いておくと、FreeBSD2.2.7Rで、カーネルコンフィグ
ファイルはBASEで、これまで二回カーネルの再構築をして、
最後にカーネルを作り直したのは Dec 23 11:45:56 JST 1999
っつーことです。

さらに蛇足ですが、このメッセージは /etc/motd に
書かれており(ブート時に毎回作り直されるのかな)、
login(1)が /etc/motdを表示します。
# see login(1),motd(5)

No. 162 # サチ 1999/03/10 (水) 19:00
そうなんですか。
安心しました。どうもありがとうございました。

No. 163 # mm 1999/03/10 (水) 22:10
ご無沙汰です(^^;
いま、BSD版 touch 互換?のWin32版 touch をDelphiで
作ってるんですが、BSD版の仕様がよくわからないので、
教えて頂けますでしょうか?

BSD版 touchは、どのような場合に標準入力からファイル名を
読み込むのかがよく分からないのです(BSDじゃないけど、
ウチのHPのサーバーでも、CGIからじゃ確認できないのです…)。
    % echo file | touch -
とすれば、file が現在日時に設定されますよね…?
それ以外に、引数にファイルを指定しなかった場合も
標準入力を読むのでしょうか?
また、たとえば、
    % touch
とした場合に、キー入力待ち状態になるのか、それとも
    % echo file | touch
などとした場合にのみ標準入力を読むのでしょうか?


>最後にカーネルを作り直したのは Dec 23 11:45:56 JST 1999
>っつーことです。

なんか、はじめて訪問して来た客に、家の事情を何から何まで
事細かにおしゃべりするおばーちゃんみたいな…(笑い)

No. 164 # 68user 1999/03/11 (木) 07:45
>  % echo file | touch -
> とすれば、file が現在日時に設定されますよね…?
いえ、そうはなりません。FreeBSDのtouchは、STDINを
全く読んでないようです。
    % touch
    usage: touch [-acfm] [-r file] [-t time] file ...
    % touch -
    % ls -l -
    -rw-r--r-- 1 user user 0 Mar 11 07:40 -
となります。

ちなみに最新のFreeBSDのtouchのソースは
    http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/touch/touch.c?rev=1.8
にあります。大元はここ。
    http://www.freebsd.org/cgi/cvsweb.cgi

> なんか、はじめて訪問して来た客に、家の事情を何から何まで
> 事細かにおしゃべりするおばーちゃんみたいな…(笑い)

いや〜、fjをROMってると、こういうやりとりを見て知識を
得るってことが多いので、暇なときで疲れてなければ
「質問者が求めること+α」を書くようにしてます。

# fjの強者ほど知識はないし、ここを見てる人も少ないので
# 自己満足かもしれませんが。

No. 165 # 68user 1999/03/11 (木) 09:49
追加。SolarisでもFreeBSDと同じ挙動でした。

No. 166 # mm 1999/03/11 (木) 13:20
わー! ごめんなさい、書き方が悪かったです(^^;

おばーちゃんの件は、68userさんのことではなく、
FreeBSDのメッセージのことなんです。
telnetで接続したら、いきなり、「うちはね、これまで2回改築してて、
最後に改築したのは〜で、基礎工事んときには…」みたいな
メッセージが出るんで、これがオシャベリなおばーちゃんみたいだ
っていう意味でした(^^;
ややこしいコト書いてすいませんでしたm(_o_)m

いま、Cソースを頂いてきたので、本編の方は後程…

No. 167 # いわもと 1999/03/11 (木) 18:18
こんにちは。はじめまして。いわもとと申します。
UNIX超初心者の私ですが今回crontabコマンドの
使い方について調べるように仰せつかりました。
それでこちらのHPを参考にさせていただいたのですが
うまくいきませんでした。とりあえずcrontabファイル
(だと思う ユーザ名がファイル名になっていて
中身はHPに書いてあったのと同じようになっていた)
は出来たんですが、そこから先がわからないんです。
どうやっても動いてくれません。
これって私が相当バカなんでしょうか?誰かご存知の方
教えて頂けると幸いです。

No. 168 # M.Masuda 1999/03/11 (木) 20:07
こん**は、いわもとさん。

私も初心者のなので申し訳ないのですが、cronはデーモン(常駐)
プロセスなので設定ファイルを修正したら、変更した設定を再読
込させなければいけないですね。
osが解からないですが、私の環境(Linux)では/etc/rc.d/init.dに
再起動用のスクリプトがありますので、/etc/rc.d/init.d/cron.init
に start、stopとすれば良いのではないでしょうか。
#ぜんぜんはずしてたらごめんなさい。

ところで何処かのページ上のcron設定解説ページを見て
操作したのでしたらそのURLを教えてもらえないでしょうか。
#68Userさん正解をお願いします。(^^ゞ

No. 169 # 68user 1999/03/12 (金) 00:31
hogeというファイルに、
* * * * * /bin/ls
と書いて、crontab hogeとすればcronにデータが登録されます。
この時点で、crontab -l とすると
* * * * * /bin/ls
と表示されればOK。

で、上の記述だと、1分ごとにlsが実行され、その結果が
メールで送られてきます。動作を確認したら、必ず
crontab -rで解除することをお忘れなく。その場合も
うまく解除できたかどうか crontab -lで確認してください。

> cronはデーモン(常駐)プロセスなので設定ファイルを修正したら、
> 変更した設定を再読込させなければいけないですね。
一般的にcronで実行されるのは、管理用のcron(/etc/crontabとか)と、
一般ユーザ用のcron(各ユーザが勝手に登録するもの)がありますが、
FreeBSDの場合は/etc/crontabを書き換えると自動的に反映されます
(1分ごとに書き換えられたかどうかチェックされてる)。

とりあえずOS名と、何をしたらどういうふうに うまくいかないのかを
書くのが解決への早道かと。


> おばーちゃんの件は、68userさんのことではなく、
> FreeBSDのメッセージのことなんです。
あ、なるほろ。了解です。

No. 170 # mm 1999/03/12 (金) 01:33
touch の件、ありがとうございました。
FreeBSDのソースも、助かります。
これは、今後も大いに役に立ちそうです(多謝)

>いえ、そうはなりません。FreeBSDのtouchは、STDINを
>全く読んでないようです。
これは全く意外でした(^^;
ソースも見ましたが、全く読む気はないみたいですね。
うーん…なんでだろう?
ひょっとして、touch *.txt で該当ファイルがなかった場合に
touch に argv[1] が渡らないのかな?…と思ったのですが、
ちゃんと *.txt が渡ってました…(^^;

なぜ、標準入力にこだわるかというと、MS-DOSの場合、
ファイル指定のメタキャラクタに * と ? しか使えないので、
csh風の glob match をサポートした ls コマンドを利用して
    ls *.{c,h} | touch
みたいな使い方をしようと思っていたのです。

とりあえずは、touch - で、ちゃんとファイル - を作成する
ようにしました(笑い)
でも、ファイルを指定しなかった場合は…
もう少し考えてみます(^o^;ゞ

No. 171 # 68user 1999/03/12 (金) 02:21
> ひょっとして、touch *.txt で該当ファイルがなかった場合に
> touch に argv[1] が渡らないのかな?…と思ったのですが、
> ちゃんと *.txt が渡ってました…(^^;
えっと、これはUNIXの話ですか? UNIXの場合はgrobの展開はシェルが
担当します。*.txtがない場合、
    % touch *.txt (touchに限らず全てのコマンド)
    touch: No match.
となりますが、これはシェルがtouchを実行する前に
はじいてます。csh/tcshの場合、シェル変数nonomatchを
設定すると、マッチするファイルがなくてもエラーにならなくなり、
touch に *.txtという文字列がそのまま渡されます。
普通、コマンドラインでnonomatchを設定することはまずないですが。

…と、mmさんなら知ってそうなことを書いてしまった。

> MS-DOSの場合、ファイル指定のメタキャラクタに * と ? しか使えないので
DOSを離れて久しいのですが(使ってたのはHuman68kですけど)、
DOSってgrobの展開は各プログラムの担当ですよね。そういう
ときに便利な関数ってライブラリで用意されてるんでしたっけ。
# char **files;
# files = filelist("a:\dir\a*.txt");
# とか。

さて、FF8をやらねば。

No. 172 # 68user 1999/03/12 (金) 02:37
そうそう、GNUのtouchを参考にするのもいいかも。

http://www.gnu.org/software/software.html
TheFileutilsare:`chgrp',`chmod',`chown',`cp',`dd',`df',`dir',`dircolors',`du',
    `install',`ln',`ls',`mkdir',`mkfifo',`mknod',`mv',`rm',`rmdir',`sync',`touch',and`vdir'.

ちょっと見てみた感じでは、こっちもstdinは見てなさげです。

> これは全く意外でした(^^;
うーん、でもtouchというコマンドの性質から言って、
stdinを読まないのは自然ではないかと思います。

しかしこうして見ると、GNUってすごくたくさんのソフトを
保守してますねぇ。CVSもGNUだったのか。

No. 173 # Asano [E-mail] 1999/03/12 (金) 10:54
はじめまして。Asanoと申します。
私のUNIX歴は1年ぐらいの初心者です。
UNIX Userの雑誌のバックナンバー(1995年12月号)を
探しています。お持ちの方で、譲ってもいいよいう人が
おりましたら、下記アドレスまでご連絡お願いします。
付録のCD−ROMは無くてもかまいません。

よろしくお願い致します。
E-Mail asanonet@po.anoa.or.jp

No. 174 # いわもと 1999/03/12 (金) 13:29
こんにちは。いわもとです。
68Userさん、M.Masudaさん、ありがとうございました。
おかげさまでうまく動かすことが出来ました。
UNIX歴わずか数日の私には本当にありがたい限りです。
今後ともよろしくお願いします。

No. 175 # mm 1999/03/12 (金) 21:14
>えっと、これはUNIXの話ですか?
あっ、すいません、UNIXの話です。
MS-DOSでは、シェルが展開するようなことはなく、
常にそのままコマンドに引数として渡ります。

>…と、mmさんなら知ってそうなことを書いてしまった。
いえいえ、
>これはシェルがtouchを実行する前にはじいてます。
というのは、全く知りませんでした(^^;

昨日、
    for ( i = 0; i < argc; i++ )
        printf("%d: %s<BR>\n",i,argv[i]);
というようなソースをウチのサーバーでccして test.cgi
として、perl CGI内で open(FH,"./test.cgi *.txt 2>&1 |");
という感じで実行してみたら(*.txt は存在しない)、
    0: ./test.cgi<BR>
    1: *.txt<BR>
となったので、以前に「シェルは、マッチしなかった場合に
そのままコマンドに渡す」という話を聞いたことがあるのを
思い出して、あんな風に書いたのです。
(なお、ウチのHPのシェルは、sh のようです(^^;)

ちなみに、この test.cgi をCGIとして実行すると、
    0: wrapper_daigaku
なんてのが返って来ました。daigakuってなんだぁ…?


>DOSってgrobの展開は各プログラムの担当ですよね。
そうですが、MS-DOS流の * や ? は、そのままファイル検索
システムコール(FindFirst)に渡すことで、マッチする
ファイル名を返してくれます(2番目以降はFindNextで順に
呼び出します)。

>そういうときに便利な関数ってライブラリで用意されてるんでしたっけ。
正式に用意されているって話は聞いたことありませんです。
フリーのライブラリを探せばあったのかな…、少なくとも
定番というのもなかったと思います。
ただ、私が昔パソコン通信(PC-VAN)で覗いてたSIG(フォーラム)
では、みんな、ツールのソースをPDSとして公開してたので、
誰かがDOS版findを作ったら、この中のcsh風glob matchの
Cソースを利用して、他の誰かが別のツールを作ったりとかは
してました。

>files = filelist("a:\dir\a*.txt");
これは、上のFindFirstとFindNextを使って簡単に実現できるので、
ライブラリとしてあるかどうかは知りません。
でも、"a:\{dir,f*}\[ab]*.txt"を解釈するようなものは、
何かのソースから取ってきて自由に利用可能でした。

もっとも、MS-DOSの世界では、フリーウエアのソースは
普通未公開だし、NiftyではPDS自体が毛嫌いされてた
みたいだから、こういうことは一般的ではなかったかも知れません。
んな訳で、Win32版でもそういうライブラリがあるのかどうか
知らないし、ましてDelphiのObjectPascalでそういうものが
ある雰囲気もあまりしないので(regexpはあるみたいです)、
今回はgetoptから全部手作りでした(^^;

>そうそう、GNUのtouchを参考にするのもいいかも。
覗いてみます。
FreeBSDのサイトもそうですが、ネット上で古いバージョンも
含めて全部公開されているんですね。やっぱ、こういう風に
ソースに自由にアクセスできるUNIX環境は羨ましいです。

>うーん、でもtouchというコマンドの性質から言って、
>stdinを読まないのは自然ではないかと思います。
何か勘違いしてるのかなぁ(^^;
例えば、ファイル名を引数にとって、そのファイルを処理する
コマンドcommand がある場合に、ls ... | command とか
find ... | command で引数ファイルを渡すのは普通では
ないのでしょうか?
確かに、ls * | cat だと、ファイル名が素通りするだけですね…

No. 176 # M.Masuda 1999/03/12 (金) 22:43
>FreeBSDの場合は/etc/crontabを書き換えると自動的に反映されます
>(1分ごとに書き換えられたかどうかチェックされてる)。
http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#crontab
ここに書いてありましたね。(^^ゞ
すいませんでした。
#確認せずに発言は止めましょうの見本みたいでしたm(_ _)m

ところで、あるアカウントに来たメールをきっかけにスクリプト
やCGIを実行させるってのはどうすれば実現できるのでしょう?
forword辺りに仕掛けをするんでしょうか?

#download.cgiの件は解決しましたでしょうか?

No. 177 # 68user 1999/03/13 (土) 07:46
> 以前に「シェルは、マッチしなかった場合に
> そのままコマンドに渡す」という話を聞いたことがあるのを
> 思い出して、あんな風に書いたのです。
おろ、確かにそうなりますね。以下は全て推測ですが、
shでもcshでもコマンドラインで
    % ls *nonexistent
    ls: No match.
と表示するのはシェルの役目で、このときlsは実行されていないはずです。
しかしperlから、
    open(IN,"ls *nonexistent 2>&1 |"); print <IN>;
とすると、「No match」ではなく、
    ls: *nonexistent: No such file or directory
と表示されます。これはおそらくperlが
    sh -c 'ls *nonexistent 2>&1'
を実行しているからです。shの仕様としては、-cに続いてコマンドを指定すると、
マッチしなかった場合でも、コマンドにワイルドカードをそのまま渡している
ようです。

>>files = filelist("a:\dir\a*.txt");
> これは、上のFindFirstとFindNextを使って簡単に実現できるので、
調べてみたら、Human68kにもfilesとnfilesというライブラリがありました
(機能は同じ)。そういえば昔ファイラーを作ったとき使った記憶があるなぁ…

> ls ... | command とか find ... | command で引数ファイルを渡すのは
> 普通ではないのでしょうか?
ファイルの内容を標準入力から受けるのはよくありますが、
ファイル名を標準入力から受け取るのは普通ではないと思います。
なぜなら、
    % find . -name \*hoge -exec touch {} \;
で簡単に実現できるからです(他にはxargsを使うとか)。

> ところで、あるアカウントに来たメールをきっかけにスクリプト
> やCGIを実行させるってのはどうすれば実現できるのでしょう?
> forword辺りに仕掛けをするんでしょうか?
procmailを使うことが多いようですね。
# http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#procmail

これを見た人が理解できるかどうか知りたいので、詳しくは書きません。
これを読んでわからなかったら、どの辺がわかりにくいか教えてくださいね。

> #download.cgiの件は解決しましたでしょうか?
ただ単にContent-Dispositionというものが使えるものかどうか
知りたかったので、特に困っていたわけではないのです(^^;

> UNIX Userの雑誌のバックナンバー(1995年12月号)を
> 探しています。

ありますけど、お譲りするのはちょっと…(他人のなんで)。
これこれの特集のこの点を知りたいということでしたら、簡単で
いいなら抜粋してここに書いてもいいですが。

No. 178 # M.Masuda 1999/03/13 (土) 18:29
ありがとう68Userさん。\(^^)/

>procmailを使うことが多いようですね。
># http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#procmail
このへんはカキコした後に見て、この辺の解説でできるかなぁと
思っていた所です。

ちょっと試してみましたが、私のしたいことはprocmailを使わなく
ても .forwordに |exec command
で出来そうです。

具体的には、あるアカウントにメールを出すと、現在のサーバー
状況を出力させる様な事をさせたかったのです。
.forwordだけで、procmailを使わずにそのままスクリプトが実行で
きたのでその方向で試してみたいと思います。
その手順では、何か不具合が予想されますか?

>これを見た人が理解できるかどうか知りたいので、詳しくは書きません。
私は、スクリプトで処理しようと思っていたので、procmailの解説
をよく見ていませんでした。(^^;
良く読めば解りますヨ。
環境のない人には全然解らないだろうけど、解説内容を自分で試す
事が出来れば、動作が解るでしょう。

一つ気づいたのですが、超大作のUNIX解説ですが一部だけを印刷し
ようとすると、カット&ペーストしなければならないので、コマン
ド別のページが在るといいかも...
#贅沢言うなって....すいませんm(_ _)m

あとメタキャラの解説なんて在るとうれしいかも

ついでにもう一つ。
正規表現はperlから勉強した(進行形)のですが、シェルとはどのく
らいの違いがあるのでしょうか?

No. 179 # mm 1999/03/13 (土) 21:06
>と表示するのはシェルの役目で、このときlsは実行されていないはずです。
ふむふむ、勉強になりますですm(_o_)m

>shの仕様としては、-cに続いてコマンドを指定すると、マッチしなかった
>場合でも、コマンドにワイルドカードをそのまま渡しているようです。
なるほどー、生でunixに触れないので、このヘンの微妙なところが
よく分からないのです(^^;

>ファイルの内容を標準入力から受けるのはよくありますが、
>ファイル名を標準入力から受け取るのは普通ではないと思います。
そっかぁ…、filterという概念からは逸脱してるかも知れないですね。
確かに、findも-execで済みますし、ls(csh likeな指定)を使いたい
ってのはMS-DOSでの事情でしょうし…

MS-DOS版独自のオプション-S を追加して、その場合だけ標準入力を読む
ことにします。
ありがとうございましたm(_o_)m


ところで、Human68k って、モトローラのチップで動くOSですよね。
X68000でしたっけ?

No. 180 # 68user 1999/03/14 (日) 01:23
> 正規表現は(snip!)シェルとはどのくらいの違いがあるのでしょうか?

シェルの ? や * (これらをglobとかワイルドカードと言います)は
正規表現とは大きく違います。が、機能は限られてるので、覚えるのは簡単です。
    ワイルドカードの ? は正規表現の . に相当 (任意の一文字)
    ワイルドカードの * は正規表現の .* に相当 (任意の文字列)
    ワイルドカードの [ ] は正規表現の [ ] に相当 (任意の文字列)
シェルによって少し違いはありますが(例えば csh では、[^a] は「a以外の1文字」
という意味を持たない。shは [!a] は [^a] と同じ意味)、基本的にこれだけです。

ただし、ワイルドカードはファイル/ディレクトリ名を扱うためのものなので、
    * は、先頭が . で始まるファイルにはマッチしない
        (例えば ls * は、.cshrc などのドットから始まるファイルにはマッチしない)
    ? や * は、パスの区切りである / にはマッチしない
ということになってます。

あと、~ や ~username をホームディレクトリへの置換するのも
一応ワイルドカードの機能らしいです。他には {} があるけど
省略(これはglobというより、ただの文字列処理機能かも)。

> その手順では、何か不具合が予想されますか?
.forwardに書いただけではログ作成や排他処理をやってくれないです。
ですから、ログや排他処理が不必要だったり、そこらへんの処理を
スクリプト側で行っているなら大丈夫じゃないでしょうか。

> コマンド別のページが在るといいかも...
http://X68000.startshop.co.jp/~68user/unix/
ソースを見てみると…検索用FORMが…。
設置しようと思ってるんですが、めんどくさくて進んでません(^^;

> X68000でしたっけ?
X680x0上で動くMS-DOSクローンなOSです。ハドソン謹製(笑)

Prev< No. 151〜180> Next  [最新発言に戻る] [過去ログ一覧]