Hi!  I’m attempting to use Rscript to do some automated plotting.  It is 
working well, except that I seem to be running into a maximum line length 
issue, and I’m wondering if it is a bug on your end.  Here’s an example of the 
command I’m trying to run:

/usr/local/bin/Rscript -e '{x <- c(-1.31171, -0.686165, 1.62771, 0.320195, 
-0.322011, 1.66518, -0.271971, -0.665367, 0.516482, -0.716343, -0.317471, 
0.068046, -0.100371, -1.15907, 0.263329, -0.936049, -0.852444, 0.358817, 
-0.233959, 0.209891, -0.831575, -0.952987, -0.0420206, -1.78527, -0.280584, 
-0.62353, 1.42597, 0.127994, 0.0751232, 0.896835, -0.319488, 0.897876, 0.18457, 
0.779571, -0.0543194, 0.226722, -0.769983, -0.723463, 0.144386, -0.468544, 
-0.349417, 0.336786, 0.749212, -1.62397, 0.683075, -0.746449, 0.300921, 
-0.365468, 0.548271, 1.13169, -1.34042, -0.0740572, 1.34986, 0.531771, 
-0.147157, 0.824894, -1.05816, 1.58867, -0.885764, 1.11912, 0.361512, 1.77985, 
0.585099, -1.205, 2.44134, -0.331372, -0.346322, 0.0535267, -1.75089, 
0.0773243, -1.07846, -1.29632, 1.0622, 1.34867, 0.199777, 0.197516, 0.574185, 
1.06555, -0.885166, -0.788576, -1.46061, -1.54026, 0.690576, -0.88821, 
0.343747, -0.100751, -0.865596, -0.128504, 0.222334, -1.18932, -0.555258, 
-0.557368, 0.219272, 0.298858, 0.848022, 0.142608, 1.10082, -0.348039, 
0.0566489, 0.662136, 0.50451, -0.909399, 1.02446, 1.40592, -0.114786, -1.10718, 
2.02549, 0.0818607, -1.037, 1.18961, -0.204, 2.83165, -0.959653, -0.393082, 
-0.463351, 0.914054, 1.14472, -1.32927, 1.25416, 0.372267, 0.410832, 1.04187, 
1.22288, 1.27131, 0.0949385, 0.194053, -0.226184, -0.502155, -1.36834, 
-0.000591861, -0.565903, 1.14099, 1.67811, 0.331709, -0.756879, 0.889596, 
0.718098, 0.740242, -0.861818, 0.0332746, 1.01745, 0.584536, -1.14245, 
-0.444485, -1.34237, 0.660603, 1.16048, -0.898828, 0.965746, -1.16953, 
-2.33417, 0.591078, -0.364892, 0.0719267, -1.21676, 1.12646, 1.37534, 
0.0712832, 1.22889, -0.0110024, 0.248213, -1.12013, -0.525197, -0.352156, 
-0.317182, -0.89552, 1.53422, -1.36777, 1.52099, 1.18789, -3.15251, 1.24008, 
-0.564289, -0.515629, -0.0920464, 2.94027, 0.895481, -0.157643, -0.347874, 
-0.290823, -0.771436, 1.29285, 0.216689, -1.86856, 2.24075, 0.888635, 0.430417, 
-0.585856, 1.13119, -0.243977, 0.544491, 0.921995, 0.815365, 1.2584, -1.29347, 
0.0574579, 0.990557, -1.58657, -0.264373, 0.865893, 0.599298, -0.417531, 
0.132897, 1.88597, 1.33112, -0.880904, 0.0762161, 0.0567852, 0.593295, 
-0.632135, 0.885625, 0.365863, -0.17885, 0.420185, -0.508275, 0.974357, 
0.628085, 0.710578, 1.72447, 1.38488, 1.01301, 1.30015, 0.260501, 0.808981, 
0.440228, 0.416344, -1.66273, -0.397224, -0.512086, -0.175854, -0.663143, 
0.369712, -1.01654, 0.660465, 0.124851, -1.51101, -0.95725, 2.09893, 1.26819, 
1.08086, 0.493204, 0.79073, 1.49191, 0.563689, 0.414473, 2.27361, 0.871923, 
0.193703, -0.185039, -0.312859, -1.42267, -2.11561, 0.311996, -0.0906527, 
1.19139, 1.57502, 1.10587, 0.416333, 2.35374, -1.0531, 0.0450512, 0.979958, 
0.398269, 0.0897618, -0.855305, -1.59337, -0.084904, 0.245872, 1.27115, 1.3512, 
-0.166962, 1.01098, -1.19854, -2.05932, -0.98, 0.704973, 0.694688, 1.20408, 
-1.12553, 0.770056, 1.01602, 0.295223, -1.18801, 1.51707, 1.1418, -0.148787, 
1.28886, 1.23981, 1.67984, 0.0185941, -0.877581, 0.495042, -0.368668, 1.59972, 
-2.20849, -1.36852, -0.972566, -1.01848, -0.366674, -2.60273, -0.540706, 
-0.475797, 0.227651, -1.11476, 1.73452, -0.212185, 3.04994, -0.251225, 
-0.0443482, -0.489125, 0.557936, -0.246389, -0.954287, 0.388668, 0.759049, 
-0.501683, -1.98722, 0.158712, -0.897082, -1.17644, 0.192465, -1.49901, 
-0.289129, -0.0460198, -0.520331, 0.432488, -0.471775, 1.21482, 0.998091, 
-0.794933, -0.36989, 0.937091, 1.27297, 1.06108, -0.784307, 0.70919, -0.309221, 
-0.516031, 0.479702, -0.669637, 1.60288, 0.657474, -0.666286, -1.01816, 
-0.452818, -0.283749, 1.05511, -1.2002, 0.112269, -1.37403, 1.00512, 0.664936, 
0.600516, -1.08099, -0.705522, 0.103051, 0.0461179, 1.74404, 0.727475, 2.41175, 
1.20414, 1.71095, 0.0957544, 0.610755, 0.545194, -0.936381, 0.190467, 0.485791, 
0.0855697, 0.142676, 0.721754, -1.84506, 2.1227, -1.1271, -1.11228, -1.2807, 
0.13385, 0.228727, -0.34391, 1.09837, -0.37053, 0.832574, 0.673463, 0.717732, 
-0.307687, 1.12486, 0.159803, -1.51251, 1.403, 2.0215, 0.010914, -0.543749, 
0.137119, 0.200364, -0.104029, -0.930966, -1.56781, -0.526978, -0.537582, 
1.11872, -0.99061, -0.501421, 1.21982, 0.813201, -0.539109, 0.433523, 
-0.0615188, 2.04298, 0.697692, 1.34515, 1.7298, 0.515137, 2.08119, 0.550985, 
1.49876, 1.31187, 0.920405, 0.597678, 0.884353, -0.732892, -0.143545, 
-0.236836, -0.330872, 1.55577, -1.74473, -0.493322, 1.46375, 1.14347, 1.76164, 
1.73099, -0.234701, -0.0546848, 0.346991, -0.393301, 1.34267, -1.58519, 
-0.381789, 0.622675, 1.34655, 2.84895, -0.371, -0.519666, -1.64944, 0.573592, 
1.06484, -0.0239894, -0.604563, 0.0680641, -0.881325, 1.07265, 0.182585, 
0.373288, 2.20228, -0.763593, -0.25659, 1.9397, -0.166943, -0.672522, -1.35983, 
0.227406, 0.49471, -1.23535, -0.479552, 1.97798, 0.418181, 1.23454, -0.0767748, 
0.828642, -0.0348468, -0.264499, 0.76699, -0.910363, -2.11408, -0.209169, 
0.902191, -2.27096, 0.098513, -0.380699, -0.231276, -0.0296834, 0.834972, 
-0.658283, 0.616493, 0.198916, -1.89783, -1.30219, 0.51036, 0.195825, -1.68961, 
-1.27838, 0.879616, 0.566719, 1.21876, 0.270402, -1.38261, 0.365878, 1.54191, 
1.25104, 1.23067, 1.87261);y <- c(0.986442, 2.65684, -1.79726, 1.79999, 
-2.43971, -1.68358, -1.84081, -2.27973, 2.96046, 2.61837, 1.48756, 1.63497, 
1.46876, 2.09348, -0.925101, 3.6792, -2.03618, 1.33232, -0.0652269, 0.809911, 
-2.82019, -1.87691, 1.1284, 0.249619, -2.94777, 3.00423, -2.79901, -0.110801, 
-3.546, 1.67156, -3.10723, -3.24205, 3.16911, -3.24227, -1.29801, 0.271933, 
-2.83573, -0.79973, -2.34429, -0.905163, -0.197905, -3.05664, -0.694481, 
1.89301, -2.70264, 2.94361, -2.32469, 1.9576, 1.73556, -3.29777, -1.54311, 
-2.03172, -0.871756, 0.77581, 3.7692, 1.54446, 3.92129, 0.160296, -3.45486, 
-1.56317, -2.72913, 0.695854, 3.15786, 1.1006, 3.25649, -1.57206, -3.15353, 
0.242301, -1.95855, -0.256919, 3.04782, -0.505045, -2.35542, 2.11649, -1.73363, 
2.65149, 3.66302, 0.457907, -2.2759, -2.36105, -2.49263, -2.9784, -3.53525, 
-0.699404, 3.17647, -1.52424, 2.72699, 3.82774, 0.100029, 3.42107, 1.74672, 
3.1279, -0.793162, -0.025109, 1.07262, 2.4517, -2.00605, -3.6625, -2.57031, 
-2.43599, 2.56309, -1.31707, -2.10777, -3.75394, 0.954311, 0.496025, 3.82545, 
-3.74259, -1.96145, 0.366455, 3.97474, 3.26111, -3.69904, 2.07392, 0.591191, 
-3.34162, -0.926126, 1.03966, -2.68754, -2.69653, 0.651845, 2.82333, 2.25596, 
3.26545, -2.57379, 2.69137, -3.08119, 2.99114, -3.86005, -1.30995, 1.80096, 
1.39404, -2.6482, -2.12922, -3.28834, -1.06563, -1.6683, -2.023, 1.60516, 
-1.67431, 1.38595, 0.287423, 2.56888, -2.99169, 0.549401, 2.31817, -2.48251, 
2.20152, 1.0531, -3.60478, 0.327999, 0.475523, -0.454324, -2.63147, -1.61249, 
-1.65507, 1.13203, 0.218, 2.87289, -0.279036, -0.316795, 3.22757, -2.25, 
-1.10923, 0.0949814, -2.60818, -0.181803, 3.65484, 2.86193, 0.940815, 3.5461, 
1.23983, 2.01177, -0.428626, 3.5539, -2.63454, 1.63098, 3.69696, 0.404995, 
0.480342, 3.22724, -3.57127, -2.38176, -1.23267, 0.738668, 1.64966, 1.37331, 
-2.60132, -1.60081, 2.57359, -3.58266, 1.32347, 3.24265, 3.81, 3.90706, 
-0.407994, 2.42083, 3.34477, 3.43151, -1.08974, -2.93732, 2.39014, -1.36511, 
-0.101514, -1.46445, 2.11849, -3.63955, -1.57038, 3.41777, -1.00185, 
-0.0702487, 2.01317, -3.38133, 3.64754, -0.740182, -3.64028, -3.77238, 2.45613, 
-3.11631, 3.82543, 2.15285, -0.790691, -1.22153, -0.943069, -3.37327, 1.19097, 
1.48834, 0.502127, -2.90383, -3.4236, -0.676889, 3.41785, 2.54728, -2.60006, 
-3.25969, -1.85346, -2.8088, 3.3905, -1.34015, -1.3877, 2.38485, 3.16688, 
-3.26326, -1.94801, 0.0878641, 0.492529, 2.62313, -2.08994, -1.77721, 1.92357, 
0.739532, 0.869021, -3.82981, 3.92422, -1.16293, 3.82139, -1.67119, 1.1145, 
-2.24382, -1.93777, -0.109559, -0.350947, 1.94832, -2.54192, 1.224, 0.797731, 
0.767982, -2.93565, -2.72896, 1.2624, 1.91513, -3.96412, 3.43534, 0.358804, 
3.05541, -0.213663, 0.38204, -0.539063, -0.897154, -2.91298, -0.198784, 
-0.0732228, 2.99983, 3.54078, 2.27245, 3.87904, 2.99445, -0.705307, 0.187173, 
1.79102, 1.69581, 2.08613, 1.54021, 0.7471, -1.19008, 2.44732, -1.59312, 
1.5387, -0.526756, 3.06958, -1.707, -2.46148, -0.523427, -0.675584, -3.02611, 
-2.22116, -3.4546, -2.94353, 2.1346, 3.51197, 1.85137, 1.7461, -0.875901, 
-2.13891, -2.1714, 1.6953, -0.159958, 1.77583, -0.808156, 2.04446, 3.58507, 
-1.27303, -0.0739294, 0.22885, -1.16883, -0.0437807, -1.30141, 2.71702, 
2.85379, 3.74969, 3.5839, -0.159889, -0.236555, 2.78411, 2.15217, -0.945737, 
-1.90692, 0.536403, -1.08419, -3.75986, 2.65243, -2.29661, 3.8776, 1.23146, 
-2.26545, 2.79205, 2.34152, -3.62388, -3.51983, -0.152083, -0.77672, 
-0.0661756, -1.12531, 1.77691, -1.49266, -0.401453, -2.98782, 1.15182, 3.00211, 
-0.338523, 2.63385, -1.30166, -1.96304, -2.03665, -2.91373, 3.33512, 0.26508, 
-2.4008, -0.989122, -1.96516, 0.498154, -0.139963, 1.762, -0.36494, 2.42886, 
1.26076, -0.344707, -2.2629, 3.01517, -0.192693, 1.72579, -3.09541, 0.898774, 
-3.33187, -2.09473, 2.13997, -1.20736, -1.78102, 0.661333, -2.15738, -2.82721, 
-0.34423, 0.945198, -1.3919, 2.24165, -1.72333, -3.61333, 0.177856, -0.499845, 
1.08322, -0.57797, 1.32396, -0.580476, -0.990233, 3.13608, 0.2254, 2.44513, 
-1.43021, -2.20293, -0.0295935, 3.9359, 0.872028, 2.94495, 2.3334, -1.4539, 
-2.0155, 1.90474, -1.83284, -3.6983, -0.223583, -2.19197, 2.98892, 2.11877, 
-0.614374, 0.860207, 3.63726, -1.54793, 0.699044, -3.31199, -2.87789, 3.21311, 
-3.24507, -0.0689166, 0.225146, -2.84127, -3.67944, 0.763724, -3.93721, 
-3.81518, -1.06853, 0.726999, 0.562243, 3.79879, 3.75762, 2.1455, 2.00329, 
-0.400098, -1.80113, 3.49374, 3.26726, -1.24347, 2.0535, 2.55697, 0.670452, 
-2.79004, 1.39668, 2.32366, -2.27311, -0.352436, -2.71256, -2.31389, -2.11829, 
0.111656, -1.67798, 2.97944, -3.7505, -1.88802, 3.50199, 1.31453, 3.32241, 
-1.04754, -3.03124, 1.60895, 1.15746, 2.29443, 3.31704, -0.172815, 2.81695, 
0.253896, 0.298466, -3.90939, -2.39831, 3.46711, 2.41166, 2.03439, 0.387814, 
-3.40236, -3.71227, -1.68499, -3.81028, 2.97335, 3.32693, -3.88281, -2.61789, 
-3.31616, 2.71789, 3.05144, -0.579528, -0.672907, 2.75653);quartz(width=4, 
height=4, type="pdf", file="~/Desktop/testpdf.pdf");plot(x=x, y=y, xlim=c(-5, 
5), ylim=c(-5, 5), pch=19, cex=0.5, main="2000");dev.off();}’

  If I execute the R code that is in the -e argument directly in R GUI (on OS 
X) it works fine.  And if I put that code in a file and run Rscript <file>, it 
works fine.  So the length limit is not intrinsic to R’s parser, it would seem. 
 But if I try to execute exactly the same code in an interactive R session in 
my Unix terminal's command line, I get a continuation prompt, +, and a little 
investigation indicates that the input line may have been truncated after 3843 
characters (a strange number) and it is waiting for more input to follow that 
truncated input.  And – what is most relevant for my situation – if I try to 
run the full Rscript command as given above (inside /bin/sh), it prints out:

WARNING: '-e 
{x~+~<-~+~c(-1.31171,~+~-0.686165,~+~1.62771,~+~0.320195,~+~-0.322011,~+~1.66518,~+~-0.271971,~+~-0.665367,~+~0.516482,~+~-0.716343,~+~-0.317471,~+~0.068046,~+~-0.100371,~+~-1.15907,~+~0.263329,~+~-0.936049,~+~-0.852444,~+~0.358817,~+~-0.233959,~+~0.209891,~+~-0.831575,~+~-0.952987,~+~-0.0420206,~+~-1.78527,~+~-0.280584,~+~-0.62353,~+~1.42597,~+~0.127994,~+~0.0751232,~+~0.896835,~+~-0.319488,~+~0.897876,~+~0.18457,~+~0.779571,~+~-0.0543194,~+~0.226722,~+~-0.769983,~+~-0.723463,~+~0.144386,~+~-0.468544,~+~-0.349417,~+~0.336786,~+~0.749212,~+~-1.62397,~+~0.683075,~+~-0.746449,~+~0.300921,~+~-0.365468,~+~0.548271,~+~1.13169,~+~-1.34042,~+~-0.0740572,~+~1.34986,~+~0.531771,~+~-0.147157,~+~0.824894,~+~-1.05816,~+~1.58867,~+~-0.885764,~+~1.11912,~+~0.361512,~+~1.77985,~+~0.585099,~+~-1.205,~+~2.44134,~+~-0.331372,~+~-0.346322,~+~0.0535267,~+~-1.75089,~+~0.0773243,~+~-1.07846,~+~-1.29632,~+~1.0622,~+~1.34867,~+~0.199777,~+~0.197516,~+~0.574185,~+~1.06555,~+~-0.885166,~+~-0.788576,~+~-1.46061,~+~-1.5402

and then it hangs – the full warning doesn’t complete printing, so it is not 
clear what it is trying to warn about.  That represents 844 characters of input 
script, but with the weird way that spaces have been replaced by ~+~ by 
somebody, it is 1013 characters – suspiciously close to 1024.

  Note that if I simply make the R script shorter, by plotting 100 x/y values 
instead of 500, everything works fine.  So there is no issue with the way that 
I’m quoting strings or anything like that; the only issue seems to be the total 
length of the command line.

  Now of course I could break up the script into multiple chunks, passed via 
separate -e arguments, and perhaps that would work somewhat better.  But given 
that I want to set up a vector x with a single c() command containing all of 
the data for x, I will still hit a line length limit; the single line of code 
to set up x will already be over the maximum line length that Rscript allows 
for a -e argument, apparently.  Getting around that would obviously be possible 
too, but would be considerably more hassle.

  And incidentally, this seems to have nothing to do with the /bin/sh input 
line limit; that is much higher.  According to "getconf ARG_MAX”, it is 262144 
characters on my machine, which is more than enough headroom for what I’m 
trying to do.

  So my questions are: (1) is this a bug, (2) if so, do you think you are 
likely to fix it any time soon :->, and (3) if the answer to that is no, are 
there any standard workarounds for this sort of situation that you would 
recommend?  I suppose I could write out the script to a file and then execute 
that file with Rscript, since that seems to work; but I was really hoping to 
avoid that extra complication and overhead.  Is there a better way?

  Thanks for any help you can provide!  :->

Cheers,
-B.

Benjamin C. Haller
Messer Lab
Cornell University

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to