簡體   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