#1 調(diào)用外部命令 調(diào)用命令的perl程序為該命令的父進程,繼承當(dāng)前perl的標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸出
3system ‘ls -al $HOME’; #不使用變量內(nèi)插
system “l(fā)s -al \$HOME”; #\$代表 $ 一個字符
system “l(fā)s -al $HOME”; #$HOME代表perl程序中的標(biāo)量$HOME;
#system退出狀態(tài)為0代表正常;
2unless (system ‘ls -al’) {print “cannot run shell\n”;}
!system ‘ls -al’ or die “cannnot run shell\n”;
#exec 操作符也能執(zhí)行外部命令,但是會結(jié)束當(dāng)前perl
#2查找環(huán)境變量
環(huán)境變量存儲在%ENV的哈希變量中 例子:
2my $path=$ENV{‘PATH’};
print $path;
#3使用文件句柄執(zhí)行外部進程
2open DATE ,‘-|’,‘date’ or die “cannot pipe from date:$!”;
open MAIL, ‘|-’,‘mailmerlyn’ or die “cannot pipe to mail:$!”;
| 在右邊時表示該命令的輸出連接到文件句柄DATE中,在左邊表示命令的輸入從文件句柄MAIL中讀取
使用close關(guān)閉文件句柄時PERL會等待該進程結(jié)束然后取得結(jié)束狀態(tài),結(jié)束狀態(tài)存于$?變量中,零表示成功,非零表示失敗;使用system和反引號結(jié)束狀態(tài)也會被存于$?變量中。
如果PERL在讀取文件句柄時,外部命令沒有數(shù)據(jù)輸出,那么PERL就會停止運行等待數(shù)據(jù)輸出為止。
審核編輯:黃飛
-
PERL
+關(guān)注
關(guān)注
0文章
14瀏覽量
10516 -
進程
+關(guān)注
關(guān)注
0文章
206瀏覽量
14185
發(fā)布評論請先 登錄
修改音量按鍵為進程管理按鍵
如何在我的分發(fā)包中添加perl模塊?
Linux進程管理
Perl語言入門教程
Linux進程管理:什么是進程?進程的生命周期

評論