首页 / 知识
Perl的system()如何打印正在运行的命令?
2023-04-12 14:01:00

How can Perl's system() print the command that it's running?在Perl中,您可以使用system()或``(反引号)执行系统命令。 您甚至可以将命令的输出捕获到变量中。 但是,这会将程序执行隐藏在后台,以便执行脚本的人看不到它。
通常,这很有用,但有时我想看看幕后发生了什么。 如何做到将执行的命令打印到终端,并将那些程序的输出打印到终端? 这相当于<@echo on"的 我不知道执行此操作的任何默认方式,但是您可以定义一个子例程来为您执行此操作:
然后看看它的作用:
据我了解,system()将打印命令的结果,但不分配它。例如。
反引号将捕获命令的输出而不打印:
等等... 更新:如果您还想打印被system()命名的命令的名称,我认为陆克文的方法很好。在此处重复进行合并:
请改用open。然后,您可以捕获命令的输出。
这是更新的执行,将打印结果并返回它们:
嗯,很有趣,不同的人如何回答这种不同的方式。在我看来,就像mk一样,Daniel Fone将其解释为希望查看/操纵命令的标准输出(他们的解决方案均未捕获stderr fwiw)。我认为陆克文走近了。您可以对Rudd的响应做出的一种改变是用您自己的版本覆盖内置的system()命令,这样您就不必重写现有代码即可使用他的execute()命令。 使用他在Rudd的帖子中的execute()子代码,您可以在代码顶部添加以下内容:
我认为这行得通,但我不得不承认这是伏都教,距我编写此代码已经有一段时间了。这是我几年前编写的在模块加载时拦截本地(调用名称空间)或全局级别的系统调用的代码:
与答案中提到的其他方法结合的另一种技术是使用
这将打印出当前目录中的文件(作为 |
最新内容
相关内容
python如何使输出换行
python如何使输出换行,培训,结果,两个,方法,引号,函数,同行,以上,时候,方式,python的print()函数输出时,通常输出结果是整行显示出来的,这时候python怎么不换行输出
python怎么不换行输出,培训,灵活,函数,对象,空格,结尾,字符,结束,复数,字符串,python中输出主要是使用print()函数。Python2和Python3中的函python怎么输出换行符
python怎么输出换行符,代码,培训,情况,结果,括号,末尾,空格,方法,python中一般是一行写完所有代码,如果遇到一行写不完需要换行的情况,有两种python如何输出质数
python如何输出质数,数字,代码,培训,质数,情况,自然数,不是,循环体,素数,用户, python输出质数的方法:质数(Primenumber),又称素数,指在大python怎么打印输出
python怎么打印输出,培训,数据,庞大,代码,变量,函数,语句,片段,文本,内存,print()函数python3中最重要的更改之一就是将print转变为函数,在pytpython3.X输出怎么不换行
python3.X输出怎么不换行,培训,灵活,函数,对象,空格,结尾,字符,下面,形式,结束,python3.0的print函数有如下的形式:print([object,...][,seq=]python怎么执行命令
python怎么执行命令,代码,环境,培训,系统,工作,命令,路径,操作系统,程序,空格,Python的命令提示符是在操作系统中,提示进行命令输入的一种工作python怎么用python输出随机数
python怎么用python输出随机数,培训,模块,方法,长度,例子,下面,以上,之间,参数,操作,python中的random模块用于生成随机数,random模块中有很多pythonprint函数怎么换行输出
pythonprint函数怎么换行输出,培训,结果,函数,方法,两个,引号,同行,以上,时候,方式, python中的print函数主要用于输出。在我们常用的print(python循环执行语句怎么写
python循环执行语句怎么写,培训,项目,语句,条件,序列,双数,括号,后跟,字符串,语法,python编程中while语句用于循环执行程序,即在某条件下,循环python代码如何在命令行运行
python代码如何在命令行运行,代码,培训,路径,空格,文件,下面,以上,目录,更多,内容,我们在编写python代码时,可以在交互模式下运行代码,也可以用python怎么输出换行
python怎么输出换行,培训,工作,结果,方法,两个,引号,当中,同行,以上,需求,python在我们常用的print()方法进行输出时,通常输出结果是整行显示