Итак, у меня есть следующий код:
#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