如果我处于需要按顺序执行外部命令的情况下,最佳解决方案是什么?
例如,我有两个命令"make snapshot"和"backup snapshot"。 第二个命令必须等到第一个完成后才能开始执行。 如果我把这两个命令有序地放在 do 语法中,它们会一个接一个地执行,还是我必须手动检查并确保第一个命令已经完成?
对于手动的完成检查,使用 "system" 或 "rawSystem" 并检查其退出代码是否足够吗?
我不完全理解 "system" 和 "runCommand" 函数之间的区别。有人能为我澄清一下吗?我只能看到它们返回不同的值:退出代码 vs 进程句柄。还有其他区别吗?
我是否需要使用 "runCommand" 来使上述序列工作?我需要在进程句柄上调用 wait 吗?
谢谢。
例如,我有两个命令"make snapshot"和"backup snapshot"。 第二个命令必须等到第一个完成后才能开始执行。 如果我把这两个命令有序地放在 do 语法中,它们会一个接一个地执行,还是我必须手动检查并确保第一个命令已经完成?
对于手动的完成检查,使用 "system" 或 "rawSystem" 并检查其退出代码是否足够吗?
我不完全理解 "system" 和 "runCommand" 函数之间的区别。有人能为我澄清一下吗?我只能看到它们返回不同的值:退出代码 vs 进程句柄。还有其他区别吗?
我是否需要使用 "runCommand" 来使上述序列工作?我需要在进程句柄上调用 wait 吗?
谢谢。
ExitSuccess <- system "make snapshot"
对system
调用的结果进行模式匹配,确保其返回ExitSuccess
。如果模式匹配失败,则会调用 IO 的fail
。 - rampion