在perl脚本中运行多个shell命令

Top*_*der 1 shell perl command

我正在使用System()命令从perl脚本执行shell命令,但我需要一个接一个地运行多个命令.我们怎么能在一条线上做到这一点.

我目前正在做的是:

$cmd = "ls -l cd /home/xyz ls -l" , 
System($cmd)
Run Code Online (Sandbox Code Playgroud)

我确信单个命令工作正常,如果这是正确的方法,有人可以告诉我吗?如果不是这里有什么问题?

Mat*_*Mat 5

你需要做与shell中相同的事情.对于您的测试命令,它看起来像:

$cmd = "ls -l ; cd /home/xyz ; ls -l";
system($cmd);
Run Code Online (Sandbox Code Playgroud)

或者更好,正如BadFileMagic所建议的那样:

$cmd = "ls -l ; cd /home/xyz && ls -l";
Run Code Online (Sandbox Code Playgroud)

这样,ls如果cd失败则不执行第二个.