Могу ли я использовать команду ls
или wget
gnu внутри сценария Ruby?
На самом деле, могу ли я использовать Ruby вместо Bash и использовать все команды Linux и программное обеспечение Gnu?
Я предлагаю вам прочитать этот ответ https://stackoverflow.com/questions/2232/calling-shell-commands-from-ruby
Если вам не нравится bash, вы можете использовать python, есть также программа iPython, которая имитирует оболочку, но использует синтаксис Python.
Существуют оболочки Unix, написанные на многих популярных языках, Ruby в том числе. Примером является rush (также описана на http://rush.heroku.com/, которая, как ни странно, имеет неправильно настроен SSL). Несколько примеров его использования, из документации:
Подсчитайте количество классов в вашем проекте с помощью bash:
find myproj -name \*.rb | xargs grep '^\s*class' | wc -l
В спешке это выглядит так:
myproj['**/*.rb'].search(/^\s*class/).lines.size
Можно спорить о том, насколько это практично в качестве оболочки Unix, но, возможно. стоит попробовать тем, кто является пользователем Ruby.
Используйте
x = %x(your command goes here)
если вам нужен вывод команды в переменной, или
system(your command goes here)
, если вы хотите, чтобы вывод команды отображался на экране.