Доступ к свойству ruby ​​в оболочке bash - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь установить и запустить рубиновый гем в моей оболочке bash, и я хочу посмотреть на некоторые свойства результата в моем скрипте оболочки. Как мне это сделать?

#!/bin/bash -l
source "/usr/local/rvm/scripts/rvm"
rvm use 2.4.0
gem install graphql-schema_comparator
result="$(schema_comparator compare "$NEW_SCHEMA" "$CURRENT_LIVE_SCHEMA")"

Вот рубиновый камень: https://github.com/xuorig/graphql-schema_comparator

Хочу ли я теперь иметь возможность получить доступ к результату сравнения и выполнить некоторые действия на его основе?

a="$(result?.foo)"
b="$(result.bar)"

Оба эти сбоя с ошибкой

result?.foo: command not found
result.bar: command not found

1 Ответ

0 голосов
/ 08 ноября 2018

Это не сработает, потому что

result="$(schema_comparator compare "$NEW_SCHEMA" "$CURRENT_LIVE_SCHEMA")"

Если вы выполняете это как скрипт оболочки result будет только строкой в ​​вашей оболочке, то, что вызов вашего метода выведет в STDOUT. Это не объект ruby, поэтому на него нельзя вызывать команды ruby. Все, что вы можете сделать с переменной оболочки, это то, что будет поддерживать оболочка, если вы обращаетесь к ней в оболочке с помощью $result.

Почему ты вообще хочешь это сделать? Почему бы просто не использовать рубин напрямую?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...