導航:首頁 > 操作系統 > linux運行perl腳本

linux運行perl腳本

發布時間:2023-03-15 12:48:50

linux下怎麼運行perl程序

1、perl解釋器基本在所有的linux平台上都是自帶的,用戶可以通過如下命令判斷是否有perl解釋器:

which perl

2、如果自己的linux系統上沒有perl解釋器,可以去其官網下載安裝。

3、在具備perl解釋器的情況下,可以參考如下運行步驟:

1)、用vim編寫test.pl,代碼如下:

#!/usr/local/bin/perl
print "HellonWorld! ";

2、編寫完成後,直接執行如下命令即可:

perl test.perl

3、有時候需要一些許可權,自己可以通過su、sudo等命令提示許可權。

❷ linux下運行perl文件

第一是,perl文件逗梁的第一行要指定perl解釋器的位置,典型的如下
#!/usr/bin/perl

第二是,perl文件的許可權要有可執行的許可權,可通過右鍵->屬性->許可權,勾選來添加可執行許可權(當然緩如,你本身也應該有擾指啟修改該文件許可權的許可權),也可以通過在命令行上執行chmod +x <perlfile>來添加執行許可權。

❸ linux中怎樣用命令運行.pl文本可執行文件

以ubuntu系統為例:

1,首先去運耐喚野行perl-v命令查看您的linux系統上面是否安裝了perl工具,如果已安裝的話,會輸出版本號,如果沒有安裝,則安裝perl。

sudo apt-get install perl

(3)linux運行perl腳本擴展閱讀

Perl,一種功能豐富的計算機程序語言,運行在超過100種計算機平台上,適用廣泛,從大型機到便攜設備,從快速原型創建到大規模可擴展開發。

Perl借取了C、sed、awk、shell腳本語言以及很多其他程序語言的特性,其中最重要的特性是它內部集成了正則表達式的功能,以及巨大的第三方代碼庫CPAN。簡而言之,Perl像C一樣強大,像awk、sed等腳本描述語言一樣方便,被Perl語言愛好者稱之為「一種擁有各種語言功能鏈清的夢幻腳本語言」、「Unix中的王牌工具」。

Perl一般被稱為「實用報表提取語言」昌喊(),你也可能看到「perl」,所有的字母都是小寫的。一般,「Perl」,有大寫的P,是指語言本身,而「perl」,小寫的p,是指程序運行的解釋器。

❹ linux如何調試perl腳本

可以在對應的位置兄孝者增加print列印相關參數慎模。
也可以安裝IDE如Eclipse、VSCode。直接就可以運行羨薯調試了。

❺ linux下 如何用perl腳本給程序傳參(argv)

把執行perl腳本的指令放在反引號之間
./test `perl -e 'print "A"x128'`
`這個符號在鍵盤tab的上邊,1的左邊
還可以放在$()中
./test $(perl -e 'print "A"x128')
這個test是一個linux命令,最好不要用作程序名

❻ linux上連資料庫,除了jdbc

1. 運行SQL查詢:可以使用MySQL命令行客戶端,phpMyAdmin等工具來運行SQL查詢,禪拿從而訪問資料庫。

2. 使用ODBC:可以使用ODBC(Open Database Connectivity)來連接Linux上的資料庫,這種方式可以讓你在Linux上使用ODBC驅動程序,從而訪問資料庫。

3. 使用Perl:可以使用Perl腳本來連接Linux上的資料庫彎襲缺,這種方式可以使用Perl DBI模塊,從而訪問資料庫。

4. 使用Python:可以使用Python腳本來連接Linux上的資料庫,這種方式可以使用Python DB-API介面埋辯,從而訪問資料庫。

❼ perl腳本在linux里,只顯示帶顏色的命令

對於Linux管理員來說,grep是日常最常用的命令,可以把匹配的字元輸出,同樣可以輸出顏色。

# grep --color 'test' /var/log/maillog

無聊練功:用perl 實現grep --color

# vi colorgrep

#!/usr/bin/perl
use Term::ANSIColor;
my $test;
if (@ARGV != 2){
die "Please use (colorgrep 'some key word' filename)\n";
}
$test = shift @ARGV;
while(<>){
if(/$test/i){
print "$`";
print color "bold red";
print "$&";
print color 'reset';
print "$'";
}
}

這里調用了Term::ANSIColor 函數 color 有以下的參數:

clear, reset, dark, bold, underline, underscore, blink, reverse, concealed, black, red, green, yellow, blue, magenta, cyan, white, on_black, on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan, and on_white

還有以下的簡化使用方法

2) use Term::ANSIColor qw(:constants);

如果使用這種方法,可以直接把顏色屬性放在要輸螞稿旅出的問題前面,從而簡化輸出步驟。這些悶凳顏色屬性有:

CLEAR, RESET, BOLD, DARK, UNDERLINE, UNDERSCORE, BLINK, REVERSE, CONCEALED, BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, ON_BLACK, ON_RED, ON_GREEN, ON_YELLOW, ON_BLUE, ON_MAGENTA, ON_CYAN, and ON_WHITE
等。

例如:
print BOLD BLUE ON_WHITE 「Text」, RESET, 「\n」;

如果你列印完之後想清除掉字元串的格式,一定要記得在最後加上一個RESET的屬性值。
例如:

use Term::ANSIColor qw(:constants);
print BOLD, BLUE, 「This text is in bold blue.\n」, RESET;

3) $Term::ANSIColor::AUTORESET = 1;

對於2)的方法,如果你不想在每條列印語句後面加上RESET的話,你可以直接把$Term::ANSIColor::AUTORESET的值設敬頃為true。這樣每次列印完字元,只要你的屬性值之間沒有逗號,系統將自動幫你清除掉顏色屬性。

看一個完整的例子:

use Term::ANSIColor qw(:constants);
$Term::ANSIColor::AUTORESET = 1;
print BOLD BLUE 「This text is in bold blue.\n」;
print 「This text is normal.\n」;

這三種方法,使用起來各有千秋,可根據要列印的復雜程度選用。

❽ Linux下的並行神器——parallel

GNU Parallel的輸入源支持文件、命令行和標准輸入(stdin或pipe)。

當然,若不想像上面那樣進行組合,可使用 --xapply 參數從每一個源獲取一個參數(或文件一行),這個參數有些類似R中的函數,具有廣播作用——如果其中一個輸入源的長度比較短,它的值會被重復。

GNU Parallel可以通過 --arg-sep 和 --arg-file-sep 指定分隔符替代 ::: 或 ::::,當這兩個符號被其它命令佔用的時候會特別有用。

GNU Parallel默認把一行做為一個參數:使用 \n 做為參數定界符。可以使用 -d 改變:

GNU Parallel支持通過 -E 參數指定一個值做為結束標志:

GNU Parallel使用 --no-run-if-empty 來跳過空行:

如果parallel之後沒有給定命令,那麼這些參數會被當做命令:

此外,命令還可以是一個腳本文件,一個二進制可執行文件或一個bash的函數(須用 export -f 導出函數)

GNU Parallel支持多種替換字元串,默認使用 {},使用 -I 改變替換字元串符號 {}。其最常見的字元串替換包括以下幾種: {.} ,去掉擴展名; {/} ,去掉路徑,只保留文件名; {//} ,只保留路徑; {/.} ,同時去掉路徑和擴展名; {#} ,輸出任務編號。同時對於每一個字元串替換都可以自己指定符號: -I 對應 {} ; --extensionreplace 替換 {.} ; --basenamereplace 替換 {/} ; --dirnamereplace 替換 {//} ; --basenameextensionreplace 替換 {/.} ; --seqreplace 替換 {#} 。

同時,如果有多個輸入源時,可以通過 {編號} 指定某一個輸入源的參數:

使用 --header 把每一行輸入中的第一個值做為參數名。

使用 --colsep 把文件中的行切分為列,做為輸入參數。

--xargs 會在一行中輸入盡可能多的參數(與參數字元串長度有關),通過 -s 可指定一行中參數的上限。

為了獲得更好的並發性,GNU Parallel會在文件讀取結束後再分發參數。
GNU Parallel 在讀取完最後一個參數之後,才開始第二個任務,此時會把所有的參數平均分配到4個任務(如果指定了4個任務)。
第一個任務與上面使用 --xargs 的例子一樣,但是第二個任務會被平均的分成4個任務,最終一共5個任務。(奇怪的是我的結果與官網教程的結果不一樣)

替換字元串可以是輸出字元的一部分,使用 -m 參數表示每個job不重復輸出「背景」(context), -X 則與 -m 相反,會重復輸出「背景文本」,具體通過下面幾個例子進行理解:

使用 -N 限制每行參數的個數,其中 -N0 表示一次只讀取一個參數,且不輸入這個參數(作為計數器來使用)。

如果命令行中包含特殊字元,就需要使用引號保護起來。
perl腳本 'print "@ARGV\n"' 與linux的 echo 的功能一樣。

使用GNU Parallel運行這條命令的時候,perl命令需要用引號包起來,也可以使用 -q 保護perl命令:

使用 --trim 去除參數兩頭的空格:

使用 --tag 以參數做為輸出前綴,使用 --tagstring 修改輸出前綴:

--dryrun 作用類似於echo:

--verbose 則在運行之前先列印命令:

一般來說,GNU Parallel 會延遲輸出,直到一組命令執行完成。使用 --ungroup ,可立刻列印輸出已完成部分。

使用 --ungroup 會很快,但會導致輸出錯亂,一個任務的行輸出可能會被另一個任務的輸出截斷。像上例所示,第二行輸出混合了兩個任務: '4-middle' '2-start'。使用 --linebuffer 避免這個問題(稍慢一點):

強制使輸出與參數保持順序 --keep-order/-k :

GNU Parallel可以把每一個任務的輸出保存到文件中,臨時文件默認保存在 /tmp 中,可以使用 --tmpdir改變(或者修改 $TMPDIR):

輸出文件可以有結構的保存 --results ,輸出文件不僅包含標准輸出(stdout)也會包含標准錯誤輸出(stderr):

在使用多個變數的時候會顯示很有用:

使用 --jobs/-j 指定並行任務數。

通過使用 --interactive 在一個任務執行之前讓用戶決定是否執行。

當job有大量的IO操作時,為避免 「驚群效應」 ,可使用 --delay 參數指定各個job開始的時間間隔。

若已知任務超過一定時間未反應則為失敗則可以通過 --timeout 指定等待時間避免無謂的等待。GNU parallel能計算所有任務運行時間的中位數,因此可以指定時間為中位數的倍數關系。

GNU parallel有多種方式可用來動態的顯示任務進度信息,如:

使用 --joblog 參數能夠生成各個任務的日誌文件:

通過 --resume-failed 參數可以重新運行失敗的任務; --retry-failed 的作用與 --resume-failed 類似,只是 --resume-failed 從命令行讀取失敗任務,而 --retry-failed 則是從日誌文件中讀取失敗任務:

GNU parallel支持在某一情況下(如第一個失敗或成功時,或者20%任務失敗時)終止任務,終止任務又有兩種類型,其一為立即終止(通過 --halt now 指定),殺死所有正在運行的任務並停止生成新的任務,其二為稍後終止(通過 --halt soon 指定),停止生成新任務並等待正在運行任務完成。

GNU parallel還支持在任務失敗後重試運行 --retries :

關於終止信號的高級用法參考 官方入門文檔 。

GNU parallel能夠在開始一個新的任務前檢查系統的負載情況防止過載(通過 --load 可指定負載),同時還能檢查系統是否使用了交換空間(swap)(通過 --noswap 限制使用swap)。

同時,對於某些佔用內存較多的程序,parallel會檢查內存只有內存滿足時才啟動任務(通過 --memfree 指定需要內存大小),而且在啟動任務後內存不夠50%時會殺掉最新開始的任務,直到這個任務完成再重新開始那些殺死的任務。

還可以通過 --nice 來指定任務的優先順序。

可使用 -S host 來進行遠程登陸:
parallel -S username@$SERVER1 echo running on ::: username@$SERVER1

GNU parallel 文件傳輸使用的是rsync。

更多遠程操作參見入門文檔。

--pipe 參數使得我們可以將輸入(stdin)分為多塊(block),然後分配給多個任務多個cpu以達到負載均衡,最後的結果順序與原始順序一致。使用 --block 參數可以指定每塊的大小,默認為1M。

如果不關心結果順序,只想要快速的得到結果,可使用 --round-robin 參數。沒有這個參數時每塊文件都會啟動一個命令,使用這個參數後會將這些文件塊分配給job數任務(通過 --jobs 進行指定)。若想分配更為均勻還可同時指定 --block 參數。

參考:
官方文檔
GNU Parallel指南

❾ Linux (GNU/Linux)下如何執行perl程序

你那個aa.pl並不是可執行文件,它只是個文本文件。
你要執行它需要調用perl,在終端用perl aa.pl就可以執行了。
aa.pl就是個perl腳本。和shell腳本執行差不多。

閱讀全文

與linux運行perl腳本相關的資料

熱點內容
如何在文件夾中顯示創建日期 瀏覽:593
淮南程序員接私活項目 瀏覽:482
怎樣加密自己的密碼 瀏覽:527
安卓怎麼關許可權保護隱私 瀏覽:390
海牛微視app怎麼用 瀏覽:70
單片機怎樣選變壓器 瀏覽:829
癌症pdf 瀏覽:725
雲伺服器鏡像批量部署環境 瀏覽:683
安卓手機瀏覽器能訪問什麼網站 瀏覽:254
找不到網站的伺服器ip地址該如何解決 瀏覽:743
演算法十個數降序排列 瀏覽:95
基於單片機的老年人健康監測系統 瀏覽:706
python入門經典pdf下載 瀏覽:17
東芝變頻2p空調壓縮機 瀏覽:227
自家wifi怎麼能加密 瀏覽:644
紅米k40加密門禁卡 瀏覽:847
什麼樣的源碼好看 瀏覽:156
手機主伺服器有什麼用 瀏覽:612
程序編寫命令 瀏覽:597
android發送心跳包 瀏覽:385