1
我正在使用System()
命令从perl脚本执行shell命令,但我需要一个接一个地运行多个命令。我们怎样才能做到这一点。在perl脚本里面运行多个shell命令
什么我目前做的是:
$cmd = "ls -l cd /home/xyz ls -l" ,
System($cmd)
我相信,单一命令工作正常,有人可以让我知道这是做正确的方式?如果不是这里有什么问题?
我正在使用System()
命令从perl脚本执行shell命令,但我需要一个接一个地运行多个命令。我们怎样才能做到这一点。在perl脚本里面运行多个shell命令
什么我目前做的是:
$cmd = "ls -l cd /home/xyz ls -l" ,
System($cmd)
我相信,单一命令工作正常,有人可以让我知道这是做正确的方式?如果不是这里有什么问题?
你需要做同样的事情,你会在你的shell。为了您的测试命令,它会看起来像:
$cmd = "ls -l ; cd /home/xyz ; ls -l";
system($cmd);
或者更好的是,所建议的BadFileMagic:
$cmd = "ls -l ; cd /home/xyz && ls -l";
这样,第二ls
如果cd
失败不执行。
它可能并不重要,就像这样的简单例子,但使用&&代替;在将命令串在一起时更好,尤其是下一个命令的执行取决于在其之前的命令的成功完成。 – BadFileMagic 2011-03-13 21:00:03