运行 R 文件使用 sh/bash

Running R file using sh/bash

我创建了下面的 .sh 文件以 运行 R 代码保存在单独的 .R 文件中。

cat EE.sh
#!/bin/bash

VARIABLES=( 20190719 20190718 )

for i in ${VARIABLES[@]}; do
        VARIABLENAME=$i
        /usr/lib/R/bin/Rscript -e 'source("/home/EER.R")'

基本上它应该做的是,从 VARIABLE 中获取日期并传递给 /home/EER.R 文件,R 将根据传递的日期执行(正确格式化后)

然后我运行下面的代码

sudo chmod a+rx EE.sh

sudo bash EE.sh

但是我收到以下错误消息。

sudo bash EE.sh
EE.sh: line 2: $'\r': command not found
EE.sh: line 3: $'\r': command not found
EE.sh: line 4: $'\r': command not found

谁能帮我解决这个问题。

我正在使用Ubuntu 18 with R version 3.4.4 (2018-03-15)

这个问题看起来与 returns 相关(当我们将文本从 windows 机器复制到 unix 机器时出现),所以要识别它们使用:

cat -v Input_file

如果您在文件中看到回车符 returns,请尝试:

tr -d '\r' < Input_file > temp && mv temp Input_file

删除它们后,尝试 运行 您的程序。