【发布时间】:2012-08-16 08:08:00
【问题描述】:
我有一个带有几个 Perl 脚本和几个 Perl oneliners 的 shell 脚本。 shell 脚本中很少有 Perl 脚本在开头有 oneliners,我通过 system 使用过。这些脚本和 oneliners 必须采用共同的输入。那么有没有办法在shell脚本的命令行中给出参数值???
#!/bin/sh
perl test.pl
perl -ne 'print if/XXXX/ig../ZZZZZ/ig' abc.l > def.l
perl trial.pl
perl qwerty.pl
例如,如果在 oneliner 中使用的文件 abc.l 是 test.pl 和 trial.pl 的公共输入,我可以使用参数值,以便我可以在命令行中将其提供给shell脚本中需要的代码????
我曾尝试为 Perl oneliner 分配参数,但输入未被接受。
我的test.pl代码如下
system( q( perl -ne '/^.QQQ/ig && print' abc.l > data1.l) );
system( q( perl -ne '/.SSS/ig && print' data1.l > data2.l) );
open(fh,"<data3.l");
open(fh1,">>data31.l");
while (my $string =<fh>)
{
...
..
..
我的 test.pl 也采用相同的输入 abc.l。
谁能帮我解决这个问题?
- 如何在 Perl oneliners 中使用 ARGV?
- 如何在运行 shell 脚本时在命令行中提供输入???
提前致谢。
【问题讨论】:
-
请以有意义的方式提出您的问题。
-
(1)我可以在 perl oneliners 中使用 ARGV 吗???... (2) 我可以在运行 Shell 脚本时在命令行中输入我的输入吗???
-
如果您使用系统调用,您可能希望插入您传递给它的参数。
标签: perl shell command-line-arguments