Perl 获取shell命令的执行结果

方法有很多:
1. 重定向shell的标准输出或标准错误输出到某临时文件,然后再从临时文件中读出执行结果。
这个办法的好处是可以把标准输出和标准错误输出分开保存!

2. my $res = `ls`;
这种方法很直接,也很想shell

3. open( my $fh, "ls |") or die "$!";
while ( <$fh> ) {
print;
}
把管道用起来,比较新颖。

(0)

相关推荐

  • Perl 获取shell命令的执行结果

    方法有很多: 1. 重定向shell的标准输出或标准错误输出到某临时文件,然后再从临时文件中读出执行结果. 这个办法的好处是可以把标准输出和标准错误输出分开保存! 2. my $res = `ls`; 这种方法很直接,也很想shell 3. open( my $fh, "ls |") or die "$!"; while ( <$fh> ) { print; } 把管道用起来,比较新颖.

  • Perl调用shell命令方法小结

    一.systemperl也可以用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"; #输出命

  • 关闭网站的wscript.shell命令行执行

    将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:\WINDOWS\ ) 复制代码 代码如下: regsvr32/u C:\WINNT\System32\wshom.ocx del C:\WINNT\System32\wshom.ocx regsvr32/u C:\WINNT\system32\shell32.dll del C:\WINNT\system32\shell32.dll 然后运行一下,WScript.Shell, Sh

  • python执行使用shell命令方法分享

    1. os.system(shell_command) 直接在终端输出执行结果,返回执行状态0,1 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出状态,如果command有执行内容,会在标准输出显示.这实际上是使用C标准库函数system()实现的. 缺点:这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果. os.system('cat /etc/passwdqc.conf') 2. os.popen()

  • 分享一个可以通过命令简写执行对应命令的Shell脚本

    本篇文章介绍一个可以通过命令简写执行对应命令的 shell 脚本. 假设这个 shell 脚本的名称为 tinyshell.sh. 在 Linux 下进行项目开发,经常会用到一些调试开发命令. 这些命令可能比较长,需要输入多个字符. 例如,Android 系统抓取全部 log 并包含 log 时间的命令是 adb logcat -b all -v threadtime. 抓取 log 是调试开发非常常见的操作,这个命令又很长,输入起来不方便. 为了简化输入,可以配置一些命令简写来对应比较长命令.

  • PHP执行普通shell命令流程解析

    这里演示一些普通的shell命令 php执行shell命令,可以使用下面几个函数: string system ( string $command [, int &$return_var ] ) string exec ( string $command [, array &$output [, int &$return_var ]] ) void passthru ( string $command [, int &$return_var ] ) 注意的是:这三个函数在默

  • Python中判断subprocess调起的shell命令是否结束

    前言 最近在使用subprocess遇到个问题,折腾了好半天才找到简单的解决办法,在这里记录下. 环境 Python:2.7.10 库:subprocess, logging 问题 使用subprocess的Popen类来执行shell命令,要怎么样才能知道命令执行结束了,以此来执行回调方法. 解决办法 使用subprocess.Popen.poll方法来获取命令的执行情况. poll方法的返回值有两种情况    1. 当命令未运行结束的时候,返回None    2. 当命令结束时,返回命令的返

  • Shell命令行中特殊字符与其转义详解(去除特殊含义)

    特殊符号及其转义 大家都知道在一个shell命令是由命令名和它的参数组成的, 比如 cat testfile, 其中cat是命令名, testfile是参数. shell将参数testfile传递给cat命令. 但是, 如果参数中含有特殊字符, 比如说*, *我们知道,是表示任意多个(包括0个)任意字符. 那么shell的工作方式是,它会对这些特殊字符进行预先处理, 然后再将处理的结果传给那个命令. 比如说,如果你的当前目录有file, file1, file2 三个文件, 那么当你执行cat

  • java调用shell命令并获取执行结果的示例

    使用到Process和Runtime两个类,返回值通过Process类的getInputStream()方法获取 package ark; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class ReadCmdLine { public st

  • 解决python 执行shell命令无法获取返回值的问题

    问题背景:利用python获取服务器中supervisor状态信息时发现未能获取到返回值. python获取执行shell命令后返回值得几种方式: # 1.os模块 ret = os.popen("supervisorctl status") ret_data = ret.read() # 2.subprocess模块 ret = subprocess.Popen('supervisorctl status',shell=True,stdout=subprocess.PIPE) out

随机推荐