Я вижу странное поведение в сценариях оболочки, когда я передаю переменную с параметрами внешнему сценарию ruby Например:
params = "--val1=test --val2='test'"
ruby ./script.rb
заставляет Ruby выводить 'test' для var2 вместо test.
Если я просто передаю параметры напрямую, без использования переменной, все работает нормально.





Не могли бы вы немного уточнить свой вопрос?
Насколько я понимаю, у вас есть сценарий оболочки, например:
#!/bin/bash
PARAMS = "--val1=test --val2='test'"
ruby ./script.rb $PARAMS
А в script.rb вы распечатываете значение параметра командной строки val2. В этом случае ожидается, что он распечатает test вместо 'test', потому что выполняются следующие шаги:
bash заменяет $PARAMS его значениемbash пытается выполнить строку ruby ./script.rb --val1=test --val2='test'bash видит указанное значение 'test' и заменяет его на test, поэтому ruby / ваш скрипт видит test
Вы вообще не использовали переменную
params. Измените свой вопрос, чтобы показать нам, чем вы действительно занимаетесь.