That Rscript stalls sounds like a bug, but not sure it's R or the terminal that needs to be fixed:
Rscript -e "$long_expression" 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 ^C^C ^C ^C^C^C^C^C^C ^\Quit (core dumped) On my default Ubuntu 16.04 terminal, R 3.3.3 hangs and does not respond to user interrupts (SIGINT), but it does respond to Ctrl-\ (SIGKILL). A workaround is to pass the expression via standard input to R, e.g. $ echo "$long_expression" | R --no-save /Henrik On Fri, Apr 21, 2017 at 11:07 AM, Ben Tupper <btup...@bigelow.org> wrote: > Hi, > > I suspect you are over the 10kb limit for the expression. See > > https://cran.r-project.org/doc/manuals/r-release/R-intro.html#Invoking-R-from-the-command-line > > Cheers, > Ben > >> On Apr 21, 2017, at 3:44 AM, Ben Haller <bhal...@mac.com> wrote: >> >> 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. > > Ben Tupper > Bigelow Laboratory for Ocean Sciences > 60 Bigelow Drive, P.O. Box 380 > East Boothbay, Maine 04544 > http://www.bigelow.org > > ______________________________________________ > 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. ______________________________________________ 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.