繁体   English   中英

Perl脚本系列。 BASH,BATCH,Shell?

[英]Series of Perl Scripts. BASH, BATCH, Shell?

我有一系列perl脚本,我想在unix系统上一个接一个地运行。 这将是什么类型的文件/我可以像在文档中一样引用它吗? BASH,BATCH,Shell脚本文件?

任何帮助,将不胜感激。

只需将用于手动运行它们的命令放在一个文件中(例如, perlScripts.sh ):

#!/bin/sh

perl script1.pl
perl script2.pl
perl script3.pl

然后从命令行:

$ sh perlScripts.sh

考虑使用Perl本身来运行所有脚本。 如果脚本不带命令行参数,则可以简单地使用:

do 'script1.pl';
do 'script2.pl';

等等

do 'file_name'基本上将文件的代码复制到当前脚本中并执行它 但是,它为每个文件提供了自己的作用域,因此变量不会发生冲突。

这种方法效率更高,因为它仅启动Perl解释器的一个实例。 它还将避免重复加载模块。

如果确实需要传递参数或捕获输出,仍然可以在带有反引号或system的Perl文件中进行操作:

my $output = `script3.pl file1.txt`; #If the output is needed.

system("script3.pl","file1.txt");    #If the output is not needed.

这类似于使用shell脚本。 但是,它是跨平台兼容的。 这意味着您的脚本仅依赖于Perl的存在,而没有其他外部程序。 它使您可以轻松地向调用脚本添加功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM