[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:92005] Re: shellscriptからPerl scriptへの引数の渡しについて?


こんにちは。松田陽一 _at_ PAL-NET三鷹です。

From: KUSAKABE -bourbon!- Toshiaki <kusakabe _at_ reccoa.net>
Subject: [linux-users:92002] Re: shellscriptからPerl scriptへの引数の渡しについて?
Date: Sun, 24 Mar 2002 13:51:37 +0900

> しかし、元メール、perl の方が間違っている可能性はないですか?
> perl でなくて、echo や cat にしてみたら、うまくいきますけど…

元の質問をされた方のメールから

#! /usr/bin/perl  -w 

while ($ARGV = shift(@ARGV)){
 $fullpath = $ARGV;
 @filenames = split(/\//,$fullpath);
 $filename = @filenames[@filenames-1];
 print "\$ARGV=$ARGV \$filename=$filename\n";
}

こういう perl スクリプトを作成して、コマンドラインで実行しましたら

hoge:~$ find /usr -name "*.pl" |xargs -e test004.pl|head -5
$ARGV=/usr/lib/xemacs-21.4.6/etc/TUTORIAL.pl $filename=TUTORIAL.pl
$ARGV=/usr/lib/dpkg/controllib.pl $filename=controllib.pl
$ARGV=/usr/lib/perl5/Jcode/_test.pl $filename=_test.pl
$ARGV=/usr/lib/perl5/dialog.pl $filename=dialog.pl
$ARGV=/usr/lib/perl5/jcode.pl $filename=jcode.pl
xargs: test004.pl: terminated by signal 13
Sun Mar 24 14:45:27
hoge:~$ 

問題なく実行できました。
次に

#!/bin/bash 
find /usr -name "*.pl" |xargs -e test004.pl|head -5

こういうシェルスクリプトを書いて、コマンドラインで実行しましたら

Sun Mar 24 14:45:27
hoge:~$ test001.sh 
$ARGV=/usr/lib/xemacs-21.4.6/etc/TUTORIAL.pl $filename=TUTORIAL.pl
$ARGV=/usr/lib/dpkg/controllib.pl $filename=controllib.pl
$ARGV=/usr/lib/perl5/Jcode/_test.pl $filename=_test.pl
$ARGV=/usr/lib/perl5/dialog.pl $filename=dialog.pl
$ARGV=/usr/lib/perl5/jcode.pl $filename=jcode.pl
xargs: test004.pl: terminated by signal 13
Sun Mar 24 14:47:06
hoge:~$ 

これも問題なく実行できました。

元のメールに記されていた perl スクリプト内には、原因となるような
怪しげなコードは無いと思います。
他の、メールに示されていない部分の perl スクリプトのどこかに、原
因はないでしょうか。
--
夜に帰るため夜に帰るため夜に。
松田 陽一(yoh)
mailto:matsuda _at_ palnet.or.jp
http://www2.palnet.or.jp/~matsuda/index.htm

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: References: