如何使用 execa 执行一系列命令?



我正在开发一个节点脚本,它将对execa包做一些事情。 基本上,我希望该脚本将目录更改为某个路径,然后在该路径中运行另一个命令。

我是这样做的:

execa.command('cd /some/dir && pwd'); 

但是pwd命令由于某种原因不会执行,尽管它成功完成了。

可能是什么原因,&&后的命令不会执行,还有其他方法可以管理该任务吗?

谢谢!

你应该问的问题是"如何使用不同的工作目录运行命令?",这将为您提供使用cwd选项的简单、健壮、跨平台的解决方案:

execa.command('pwd', { cwd: '/some/dir' });

如果你想用&&来完成这个任务,你可以通过调用 shell 来完成。这更脆弱且特定于平台:

execa('sh', ['-c', 'cd /some/dir && pwd']);

最新更新