如何在ruby中同步执行shell命令

时间:2012-08-28 01:35:04

标签: ruby shell zip command unzip

我想提取zip文件并在提取时删除它们。谷歌搜索告诉我,在Ruby中解压缩文件的最简单方法是使用unzip filename.zip执行它们。我的下一步是删除zip文件。

第二步发生得太快,以至于shell命令unzip在删除之前甚至没有机会看到该文件。它错误地说

"unzip:  cannot find either filename.zip or filename.zip.zip."

我只想在继续执行ruby脚本之前完成unzip...命令。我希望它同步阻止。有没有办法做到这一点?我无法使用睡眠,因为我无法估计需要多长时间。

1 个答案:

答案 0 :(得分:1)

在ruby中运行外部程序的常用方法是同步的,所以应该没有问题。

尝试

`unzip`

system("unzip")

system("unzip x && rm x")