该问题及其答案显示了如何从终端中打开R,评估所需的表达式,然后退出R,所有操作均在一行中完成。最干净的答案是打开您的终端,然后R --slave -e 'EXPR'
在表达式为EXPR的地方运行(例如R --slave -e '1+1'
)。
我的问题是:如何在不退出R的情况下完成所有这些工作?也就是说,我想在终端的一行中输入R并评估我想要的表达式。“显而易见”的答案类似R '1+1'
或R 1+1
不起作用,返回错误ARGUMENT '1+1' __ignored__
,而Bash滥用(例如)R; 1+1
拒绝评估第二个表达式,直到R关闭为止。
使用以下功能,可以在使用参数后自动重新启动R:
r() {
# First execute commands when given
if [ $# -gt 0 ]; then
R --slave -e "$*"
fi
# Start R
R --slave
}
测试后,您可以将此功能添加到中.bashrc
。
我调用该函数r
,但请确保r
您的系统尚未使用或保留该函数。
您可以致电与功能r 1+1
,r 1 + 1
的r "1*2"
。
使用时请注意引号"1*2"
。不带引号的外壳将尝试扩展特殊字符,并查找文件“ 1 * 2”。使用空格r 1 * 2
会更糟,将替换*
为许多文件名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句