|
どうも、skel.103Mです。 Bourne SHELLに関するアドバイス、どうもありがとうございました。>68userさん・Yuukiさん さっそく、 Bourne Shell 自習テキスト http://www.tsden.org/takamiti/shText/index.html を見てみました。なかなかいいですね、このページ。ブックマークにも 登録しときましたし。このページを見ながら勉強していこうと思います。 > あと、UNIX USER 10月号 (最新号) に 20 ページ程度ですが、 > シェルスクリプト講座が載ってます。結構勉強になると思います。 私も買って少し読んでみました。いわゆるハンドブックとしてはちょっと 不適だと思いました。(←個人的な意見なので気にしないで下さい)ひと 通り文法を知った後で実践として使おうと考えています。 > ただ、sh スクリプトの決定版、というような本は知らないです。 > http://www.oreilly.co.jp/BOOK/bash2/contents.htm > ってのがありますが、読んだことはないです。 このWebページによると bash に関するもののようですね。 明日(っていうか2時間後)秋葉原へ行くので、そのときに見てみよう と思います。 > # 結局 bash と sh は別物だし…。 そうなんですよね。例の秀和システムの「bash Manual & Reference」でも 似たようなことを書いてました。もちろんスタイルは似ているんです けれど、やはり違いがあるらしいです。。。 それでは。 |
|
こんにちは。 68userさん、Ksh変数のご回答ありがとうございました。 しかし、私はまだ、初心者なので、ファイル経由で情報を渡すということがよく分かりません。 ^^^^^^^^^^^^^^^^^^^^^^ もう少し詳しく教えて頂けないでしょうか。 よろしくお願い致します。 |
|
こんばんは。 ここには初めててきました。 質問があるのですが、Cシェルで、 サーバー日付より2日前のファイルを削除するとかっていう ことはできるのでしょうか? 教えてください。 お願いします。 |
|
@ノヴァさん > 質問があるのですが、Cシェルで、 > サーバー日付より2日前のファイルを削除するとかっていう > ことはできるのでしょうか? 使っているシェルにかかわらず可能です。 findというコマンドを使えばいいです。「UNIXの部屋」からfindの概要 や使い方を見たあと、詳細を「man find」で調べればいいと思います。 ではでは。 |
|
@ノヴァさん > ファイル経由で情報を渡すということがよく分かりません その前に > script1 から script2 を呼んでいるのではなく、あるプロセスから > script1 を呼び、script1 の終了後に script2 を呼んでませんか? に対する回答はどうなっているのでしょうか? 引数で渡すとか、環境変数で渡すとか、ファイル経由で 渡すとか、パイプで渡すとか、やり方はいろいろありますが、 どういう呼び出し方をしていて、どれだけの量のどういう内容の データを script2 に渡したいかがわからないとなんとも言えません。 |
|
> @ノヴァさん じゃなくて、やすさんでした。 ところで、make world 中に 家の FreeBSD を ぐっちゃんぐっちゃんに壊してしまったので、もし週末 までに復旧できれば IRC に参加させていただきます。 # が、なかなかうまくいかず…。 |
|
教えていただきありがとうございました。 さっそく、色々やってみます。 |
|
はじめまして、もりやと申します 実は今、シェルスクリプト(でいいんですかね?DOSでいうBATファイルの ことです)でやろうとしていることがあるのですが、やり方が今ひとつ分 かりません。ファイルの複製を作るのですが、複製されるファイルの名前 には、別のテキストファイルのレコードの先頭の4バイトが付加され、そ のテキストファイルは何レコードあるか分かりません。レコードの数だけ 複製を作ります。awkなど使えばよさそうに思って本を読んだりいろいろ試 しましたが、うまくいきません。教えていただければ幸いです。 OSは、HP-UXでバージョンの見方がわからないのですが、ここ2、3年のも のではあると思います。 |
|
はじめまして。 MXレコードを調べたいと思っているんですが、モジュールが使える状況にありません。Net::DNSなどのモジュールを使わずにMXレコードを引く方法があればヒントだけでも教えていただけるとうれしいです。 よろしくお願いします。 |
|
Hmm... I have recovery FreeBSD. But canna server doesn't accept a connection. Something is wrong. sign.... @moriya I can't understand what you want to say. Please show examples of the file and the record. To know OS version, type `uname -a'. @Q > get MX record without Net::DNS There is a sample script to get MX with nslookup. http://X68000.startshop.co.jp/~68user/cgi-bin/view-script.cgi/expn.cgi Another way, connect DNS server (port 53/udp), talk DNS protocol. # I hate multipost. You have to reply in 2ch, don't you? |
|
説明不足で申し訳ありませんでした。 org.datというファイルがあるとします あと、tencd.txtというテキストファイルがあり、その中身は 000420000101 002320001010 034320001020 とします この場合、 org.datをコピーしてorg004.dat、org0023.dat、org0343.dat という3つの複製ファイルを作成したいのです。 tencd.txtは何レコードあるかは不定です。 因みにHP-UXのバージョンはB.10.20でした。 よろしくお願いします |
|
What do you mean? hahaha... |
|
sh なら exec < tencd.txt while read line do set -- $line num=`echo $line | sed 's/^\(....\).*/\1/'` cp org.dat org$num.dat done csh なら foreach line (`cat tencd.txt`) set num=`echo $line | cut -c-4` cp org.dat org$num.dat end てな感じでしょうか。 # シェルスクリプトと言っても、シェルにはいろいろ種類が # あるので、sh か csh かそれ以外かを明記してください。 先頭4バイト取得には、sed でも cut でも awk でも お好きな方法をどうぞ。 もちろん全体を awk スクリプトで書くこともできます。 でもまぁ、perl を覚えた方がよいとは思いますね。 |
|
すいません、Perl一般の話ですいませんが、 サブルーチン リファレンスを使うとコールバック関数が作れる、 という場合の、コールバック関数ってどんなもんなんでしょうか? どんなときにどう使うと便利なんでしょうか? リファレンスの勉強をしていて、そこだけピンと来る例題のある章が なくて困っています。 御無理のない範囲で教えてくださいー。 |
|
Perl/Tk で何かアクションがあったときの動作を記述する関数 sub pushed { print "ボタンが押されました\n"; } $top->Button( -text => 'Push me', -command => \&pushed, )->pack(-side => 'left'); とか、シグナルハンドラ、たとえば SIGALRM による タイムアウトが起こったときの動作を記述する関数 sub signal_handler { print "1秒待ちましたが、入力がありませんでした\n"; alarm(1); } $SIG{ALRM}=\&signal_handler; alarm(1); $buf = <STDIN>; などをコールバック関数といいます。 後者は、より実践的に書けば http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=889 てな感じです。 なお、関数へのリファレンスを使わず、$SIG{ALRM}=sub {...} などと 無名関数を使ってコールバックを設定することもできます。 |
|
ありがとうございます。このふたつの例はわかりました。 他に、ユーザープログラムが呼び出すサブルーチンを 「コールバック」と呼ぶことはないんでしょうか。 「コールバック」という言葉じたいの定義が本によってあやふやな気がして、、。 たびたび申し訳ありません、、。 |
|
> 「コールバック」という言葉じたいの > 定義が本によってあやふやな気がして、、。 その本の記述例を見せていただけますか? |