Как сделать так, чтобы команда оболочки выполнялась синхронно в ruby?

Я хочу извлечь zip-файлы и удалить их при извлечении. Googling говорит мне, что самый простой способ разархивировать файлы в Ruby - это выполнить их с unzip filename.zip, Мой следующий шаг - удалить ZIP-файл.

Второй шаг происходит так быстро, что команда оболочки unzip не имеет возможности даже увидеть файл до его удаления. Это ошибка, говоря

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

Я просто хочу иметь unzip... Команда завершена, прежде чем продолжить выполнение сценария ruby. Я хочу, чтобы он синхронно блокировался. Есть способ сделать это? Я не могу спать, потому что не могу оценить, сколько времени это займет.

1 ответ

Обычные способы запуска внешней программы в ruby ​​являются синхронными, поэтому проблем не должно быть.

Пытаться

`unzip`

или же

system("unzip")

или же

system("unzip x && rm x")
Другие вопросы по тегам