|
>>3123 68user 確かに、私が調べたところでも同じ事が記述されていました。 試しに簡単なmainを作って存在しないコマンドをsystemで呼び出すとsystemの戻りは256(おそらくシェルの返すexitコード=1)だけでした。 -1は戻りませんでした。 256と-1が交互になるのは何か他の原因かもしれません。 もう少し調べてみます。 ありがとうございました。 |
|
>>3124 koko 256と-1が交互になる件は解決しました。 SIGCHLDのシグナルハンドラを登録してあった為、シグナルハンドラが割り込んだ時のみsystemの戻り値が-1になっていた様です。 SIGCHLDをマスクしたところ、戻り値は256で安定しました。 |
|
find コマンドについて質問があります。 ファイル名で検索をかけたいと思うのですが、 UNIXだと英数字の大文字・小文字を区別してしまうので、例えば、 「a」で検索した場合、「A」というファイルは引っかからないかと 思います。 大文字・小文字の区別無く引っ掛けたいと思うのですが、その様な オプション又は方法はありますか? |
|
>>3126 bebe 最近の *BSD find や GNU find なら -iname とか -iregex とか。 そうでない find なら広めにひっかけて grep で絞りましょう。 |
|
>>3127 68user findコマンドで引っ掛けられたらいいかと思ったのですが、 やっぱり広めに検索をかけて、grep等で絞り込むしかなさそ ですね。 参考になりました。 有り難うございます。 |
|
始めまして、いつもこちらでは陰ながら勉強させていtだいてます。 perlスクリプトのことでお教えください ただ今企画中のスクリプトにおいて 外部コマンド実行時、そのコマンドプロセスの標準入力へ有る意味大量のデータ(文字列)を渡したいのです しかしこの方法が全く頭に浮かばず情け無い状態であります! PIPEやファイルシステムの基礎を知らない私にご教授下されば幸いです。 |
|
>>3129 もも open(OUT, "| command"); print OUT "HOGEHOGEHOGEHOGEHOGEHOGEHOGE...."; close(OUT); ってことですか? じゃなくて command の標準入力に渡しつつ、そのコマンドの 出力を受け取りたいなら IPC::Open2 などを使えばできます。 できますが、デッドロック回避などが面倒なので open(OUT, "| command > file"); print OUT "HOGEHOGEHOGEHOGEHOGEHOGEHOGE...."; close(OUT); open(IN, "< file"); while (<IN>){ .... } でいーんではと思う軟弱な私。 |
|
>>3139 金床 68user様なるほど理解しました前者が出来ればいいのです! 早速試してみます。ありがとうございました! |