Перемещение переменной в Rscript и php stdin - PullRequest
0 голосов
/ 10 марта 2019

Итак, у меня есть следующий код:

#myrcode.r
#!/usr/bin/env Rscript
f <- file("stdin")
SIR <- Sys.getenv("SOME-ENV-VARIABLE")

обычно, когда пользователь запускает сценарий с данными, переданными ему по каналу, сценарий должен выплевывать информацию, переданную по каналу ... т.е.:

#echo "The sun is shining..." | ./myrcode.r
The sun is shining...

Теперь, предположим, я хочу назначить определенное значение или ввод для stdin, как это можно сделать? Я в основном хочу присвоить значение (скажем, «Солнце светит») переменной, а затем переместить эту переменную в «stdin», чтобы при запуске кода r я получал следующее:

./myrcode.r
# The sun is shining...

В конечном итоге я хочу, чтобы этот скрипт выполнял входные данные, переданные ему по конвейеру. Проверьте этот вход, чтобы убедиться, что его значение является «безопасным», а затем введите его в стандартный ввод.

У меня проблема с тем, что я могу присвоить значение стандартному вводу данных. В Python я могу сделать что-то вроде этого:

sys.stdin = io.StringIO(os.environ['MYVARIABLE'] + u'\n')

Я просто хочу то же самое для R и php

...