कमांड लाइन से सरल प्लॉट करने के लिए आर स्क्रिप्ट होना बहुत सुविधाजनक है। हालांकि, बैश स्क्रिप्ट से आर चलाना बिल्कुल भी सुविधाजनक नहीं है। आदर्श कुछ इस तरह हो सकता है
#!/path/to/R
...
या
#!/usr/bin/env R
...
लेकिन मैं उन कामों में से एक भी नहीं कर पाया हूं।
एक अन्य विकल्प लिपियों को विशुद्ध रूप से आर, जैसे script.R, और इसे R --file=script.Rया इसी तरह से लागू करना है । हालांकि, कभी-कभी एक स्क्रिप्ट अस्पष्ट कमांड लाइन स्विच पर निर्भर करेगी, जिस पर स्क्रिप्ट के बाहर कोड के कुछ हिस्से मौजूद हैं। उदाहरण: एक स्थानीय के माध्यम से बैश से आर में छींकने वाली चीजें। लाभकारी, वांछित स्विच हैं तो --vanillaइसके अलावा सब कुछ निहित है --no-init-file।
एक अन्य विकल्प आर झंडे को स्टोर करने और दर्द रहित निष्पादन योग्य होने के लिए एक बैश स्क्रिप्ट है, जिसे तब आर स्क्रिप्ट कहते हैं। समस्या यह है कि इसका मतलब है कि एक एकल कार्यक्रम को केवल दो फ़ाइलों में विभाजित किया गया है, जिसे अब सिंक में रखना होगा, नई मशीनों को एक साथ स्थानांतरित करना होगा आदि।
वर्तमान में मैं कम से कम घृणा का विकल्प आर को बैश स्क्रिप्ट में एम्बेड कर रहा हूं:
#!/bin/bash
... # usage message to catch bad input without invoking R
... # any bash pre-processing of input
... # etc
R --random-flags <<RSCRIPT
# R code goes here
RSCRIPT
सब कुछ एक ही फाइल में। यह निष्पादन योग्य है और आसानी से तर्कों को संभालता है। समस्या यह है कि इस तरह से बैश और आर का संयोजन किसी भी आईडीई के एक या दूसरे पर विफल नहीं होने की संभावना को समाप्त करता है, और मेरे दिल को चोट पहुंचाता है।
क्या कोई बेहतर तरीका मुझे याद आ रहा है?