Perl呼叫shell命令方法小結

2021-07-31 10:25:17 字數 1165 閱讀 6473

一、system

perl也可以用system呼叫shell的命令,它和awk的system一樣,返回值也是它呼叫的命令的退出狀態.

複製**

**如下:

[root@ax3sp2 ~]# cat aa.pl

#! /usr/bin/perl -w

$file = "wt.pl";

system("ls -l wt.pl");

$result = system "ls -l $file";

print "$result \n"; #輸出命令的退出狀態

system "date";

[root@ax3sp2 ~]# perl aa.pl

-rwxr-xr-x 1 root root 126 12-16 15:12 wt.pl

-rwxr-xr-x 1 root root 126 12-16 15:12 wt.pl

02023年 12月 16日 星期四 15:58:34 cst     

二、反引號

perl的system函式和awk的一樣不能夠返回命令的輸出.

要得到命令的輸出,就得使用和shell本身一樣的命令:     ` ` 

複製**

**如下:

[root@ax3sp2 ~]# cat bb.pl

#! /usr/bin/perl

print `date`;

print "this is test \n";

[root@ax3sp2 ~]# perl bb.pl

2023年 12月 16日 星期四 15:51:59 cst

this is test

三、exec

最後,perl還可以使用exec來呼叫shell的命令. exec和system差不多,不同之處在於,呼叫exec之後,perl馬上就退出,而不會去繼續執行剩下的**

複製**

**如下:

[root@ax3sp2 ~]# cat cc.pl

#! /usr/bin/perl

exec ("echo this is test");

print "good bye !\n";  #這句話不會被輸出

[root@ax3sp2 ~]# perl cc.pl

this is test

Perl呼叫shell命令方法小結

一 system perl也可以用system呼叫shell的命令,它和awk的system一樣,返回值也是它呼叫的命令的退出狀態.複製 如下 root ax3sp2 cat aa.pl usr bin perl w file wt.pl system ls l wt.pl result syste...

perl呼叫shell命令並獲取輸出

1system perl也可以用system呼叫shell的命令,它和awk的system一樣,返回值也是它呼叫的命令的退出狀態.如果向system傳遞乙個字串作引數,則perl會呼叫shell來執行這個命令,在這個字串內也就不可以有perl的變數了 如果傳遞多個字串作引數,則perl會自己執行這個...

python 呼叫 shell 命令方法

python呼叫shell命令方法 缺點 不能獲取返回值 要得到命令的輸出內容,只需再呼叫下read 或readlines 等 例 a os.popen cmd read 此模組主要有如下方法 commands.getstatusoutput cmd 返回 status,output command...