2011-03-13 78 views
1

我正在使用System()命令从perl脚本执行shell命令,但我需要一个接一个地运行多个命令。我们怎样才能做到这一点。在perl脚本里面运行多个shell命令

什么我目前做的是:

$cmd = "ls -l cd /home/xyz ls -l" , 
System($cmd) 

我相信,单一命令工作正常,有人可以让我知道这是做正确的方式?如果不是这里有什么问题?

回答

5

你需要做同样的事情,你会在你的shell。为了您的测试命令,它会看起来像:

$cmd = "ls -l ; cd /home/xyz ; ls -l"; 
system($cmd); 

或者更好的是,所建议的BadFileMagic

$cmd = "ls -l ; cd /home/xyz && ls -l"; 

这样,第二ls如果cd失败不执行。

+1

它可能并不重要,就像这样的简单例子,但使用&&代替;在将命令串在一起时更好,尤其是下一个命令的执行取决于在其之前的命令的成功完成。 – BadFileMagic 2011-03-13 21:00:03