我使用System()
命令从perl脚本执行shell命令,但我需要一个接一个地运行多个命令。我们怎么能在一行中做到这一点。
我目前正在做的是:
$cmd = "ls -l cd /home/xyz ls -l" ,
System($cmd)
我确信单个命令工作正常,如果这是正确的方法,有人可以告诉我吗?如果不是这里有什么问题?
答案 0 :(得分:5)
你需要做与shell中相同的事情。对于您的测试命令,它看起来像:
$cmd = "ls -l ; cd /home/xyz ; ls -l";
system($cmd);
或者更好,正如BadFileMagic所建议的那样:
$cmd = "ls -l ; cd /home/xyz && ls -l";
这样,如果ls
失败,则不会执行第二个cd
。