Komut satırından basit çizimler yapmak için R betiklerine sahip olmak çok uygundur. Ancak, R'yi bash betiklerinden çalıştırmak hiç uygun değildir. İdeal şöyle bir şey olabilir
#!/path/to/R
...
veya
#!/usr/bin/env R
...
ama ben bunların ikisini de yapamadım.
Başka bir seçenek, örneğin R, içinde tamamen komut dosyalarını tutuyor script.R
ve onu çağırma R --file=script.R
veya benzer. Bununla birlikte, bazen bir komut dosyası, kodun bir kısmının komut dosyasının dışında bulunduğu belirsiz komut satırı anahtarlarına güvenir. Örnek: yerel bir .Rprofile aracılığıyla bash'dan R'ye bir şeyler gizlice girildiğinde, istenen anahtarlar --vanilla
hariç her şeyin ima ettiği olur --no-init-file
.
Diğer bir seçenek, R bayraklarını depolamak ve ağrısız bir şekilde yürütülebilir olmak için bir bash betiğidir, bu da daha sonra R betiğini çağırır. Sorun şu ki, bu, tek bir programın şimdi senkronize tutulması, birlikte yeni makinelere aktarılması vb. Gereken iki dosyaya bölündüğü anlamına geliyor.
Şu anda en az küçümsediğim seçenek, R'yi bir bash betiğine gömmek:
#!/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
Her şey tek bir dosyada. Çalıştırılabilir ve argümanları kolayca yönetir. Sorun şu ki, bash ve R'yi bu şekilde birleştirmek, herhangi bir IDE'nin birinde veya diğerinde başarısız olma olasılığını ortadan kaldırıyor ve kalbimi çok kötü acıtıyor.
Kaçırmamın daha iyi bir yolu var mı?