如何在Perl中执行多个(~15)bash命令?
我知道如何在Perl中执行多个(~15)bash命令?,perl,bash,Perl,Bash,我知道system()和qx(),但我需要执行~15个bash命令。例如 mkdir,chown,edquota-p user1-u user2,cp-r,su-username,git,rm,ln-s 问题 有没有一种有效的方法可以在Perl中执行许多Bash命令 在本例中,我不关心输出。对许多命令使用bash语法。用将它们分开或&&或任何你喜欢的(man bash) 对许多命令使用bash语法。用将它们分开或&&或任何你喜欢的(man bash) 在Linux中,我喜欢POE框架中异步运行系
system()
和qx()
,但我需要执行~15个bash命令。例如
mkdir
,chown
,edquota-p user1-u user2
,cp-r
,su-username
,git
,rm
,ln-s
问题
有没有一种有效的方法可以在Perl中执行许多Bash命令
在本例中,我不关心输出。对许多命令使用bash语法。用
将它们分开
或&&
或任何你喜欢的(man bash
)
对许多命令使用bash语法。用
将它们分开
或&&
或任何你喜欢的(man bash
)
在Linux中,我喜欢POE框架中异步运行系统命令(和代码块)的模块。您说您不关心输出,但如果您将来需要它,POE::Wheel::Run有一个优雅的界面,允许我们与流程交互 在Linux中,我喜欢POE框架的模块异步运行系统命令(和代码块)。您说您不关心输出,但如果您将来需要它,POE::Wheel::Run有一个优雅的界面,允许我们与流程交互 首先,我会对尽可能多的bash命令使用等效的Perl函数,这是您在文章中介绍的大多数命令。然后,对于其余的命令,我要么使用system()或qx(),要么使用backticks,要么使用IPC::模块(如IPC::Run或IPC::Open3)。首先,我将尽可能多地使用等效的Perl函数来处理这些bash命令,这是您在文章中介绍的大多数命令。然后,对于其余的模块,我要么使用system()或qx(),要么使用backticks,要么使用IPC::模块(例如IPC::Run或IPC::Open3)。您可以
setuid
您可以取消链接
您可以mkdir
您可以chown
等,所有这些都直接从perl中执行。在您粘贴的命令中,edquota
和git
可能是唯一最容易通过system
实现的,即使是git也可以将其放入shell脚本中,并使用qx
或system
执行。另外值得一提的是,您运行的许多命令都不需要system()
,它们有perl等价物。您可以setuid
您可以取消链接
您可以mkdir
您可以chown
等,所有这些都直接从perl中执行。在您粘贴的命令中,edquota
和git
可能是最容易通过system
实现的命令,即使git也有
$ perl -E 'system qq{date; date}'
my $s = <<END;
echo "1"
echo "2"
echo "3"
END
system("$s");