Overview
今天在Mac上运行一个在Windows
中处理过的R脚本,不能正常运行,错误信息指向明确。
问题描述
使用./H_gr500_tune.R
运行,报下面的错误:
env: Rscript\r: No such file or directory
打开这个脚本,头几行内容如下:
#!/usr/bin/env Rscript
library(e1071)
library(plyr)
library(ROCR)
并没有发现异常,很明显是因为Windows
下换行符\r\n
引起的,但是使用sublime
查找这个脚本,能查找\n
,却查不到有\r
,所以没办法在sublime
中手动去掉\r
。
可能sublime
在显示的时候自动把\r\n
处理成了\n
,但脚本中\r
确实是存在的,所以尽管看不到,但运行脚本时会报错。
解决方案
使用下面的命令行,去掉\r
,并生成一个新文件H_gr500_tune1.R
:
cat H_gr500_tune.R | tr -d "\r" > H_gr500_tune1.R
重新运行H_gr500_tune1.R
,一切正常。
小结
从Windows
下拿过来的脚本,最好都check一下换行符的问题,不管会不会有问题,看一下总没错...