Как я могу создать сценарий удара, который выполняет irb, затем некоторый код Ruby?

Возможно отключить (пароль) вход в систему в учетную запись, с помощью -l опция в passwd. Именно так большинство пользователей системы, таких как www-данные и пост-ГРЭС в Ваших примерах, настраивается.

2
09.08.2012, 01:56
3 ответа

Вы выполняете команды последовательно, таким образом, оболочка выполняется irb, ожидает до irb будьте закрыты и выполняет следующую команду (в Вашем случае require 'random_utils.rb')…

То, что Вы хотите, должно предоставить сценарий irb через STDIN

irb <<EOF
require 'random_utils.rb'
a = SuccessChecker.new
EOF

Но это, вероятно, не сделает то, что Вы хотите как irb для интерактивного использования, необходимо рассмотреть использование нормального рубинового интерпретатора вместо этого, например:

ruby <<EOF
require 'random_utils.rb'
a = SuccessChecker.new
EOF
2
27.01.2020, 22:14
  • 1
    , который я использовал irb, чтобы загрузить эти файлы вручную и ввести по абсолютному адресу в коде для тестирования его в интерактивном режиме, таким образом, я думаю, что это - то, что я хочу сделать, хотя я мог бы передумать :) Спасибо за это. Я думал, что это будет некоторый простой символ или что-то. –  ac7v 09.08.2012, 02:21
  • 2
    @ac7v видит i.imgur.com/t6gNQ.png для получения дополнительной информации например, irb покажет возвращаемым значениям и echos команды, который является, вероятно, не, что Вы хотите - нет никакой реальной выгоды от использования irb для выполнения не интерактивных вещей. –  Ulrich Dangel 09.08.2012, 02:25
  • 3
    я предполагаю, что просто напишу код тестирования в отдельном .rb файле (для чистоты). Я предполагаю, что это - лучший способ сделать его так или иначе. Я считаю это ответом. Еще раз спасибо. –  ac7v 09.08.2012, 02:32

Похож Вы готовы сделать следующий шаг и пользоваться библиотекой поблочного тестирования.

Вот введение в мини-тест, встроенный в Ruby 1.9.

0
27.01.2020, 22:14
  • 1
    Отмеченный. Еще не имейте достаточного количества представителя к +1 Вы, таким образом, я говорю спасибо вместо этого! –  ac7v 13.08.2012, 06:03
  • 2
    Прохладный, надейтесь, что Вы наслаждаетесь им :) –  Cawflands 13.08.2012, 10:03

Современное решение этой проблемы состоит в том, чтобы использовать гем pryи сделать его простым старым рубиновым скриптом.

#!/usr/bin/env ruby

require 'pry'
require 'random_utils.rb'
a = SuccessChecker.new
binding.pry

сбросит вас в отладчик везде, где находится binding.pry...

0
27.01.2020, 22:14

Теги

Похожие вопросы