Я могу запустить эту строку за строкой на новом экземпляре ubuntu 16.04 в Digital Ocean, но когда я даю ему исполняемые разрешения chmod +x и запускаю его, я получаю неудачные попытки запуска разных частей скрипта.
sudo apt-get -y install nginx git libcurl4-gnutls-dev libxml2-dev libssl-dev
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
sudo add-apt-repository 'deb [arch=amd64,i386] https://cran.rstudio.com/bin/linux/ubuntu xenial/'
sudo apt-get update
sudo apt-get install r-base r-base-dev gdebi-core
sudo su - -c "R -e \"install.packages('devtools', repos='http://cran.us.r-project.org')\""
sudo su - -c "R -e \"install.packages('shiny', repos='http://cran.us.r-project.org')\""
sudo su - -c "R -e \"install.packages('XML', repos='http://cran.us.r-project.org')\""
(crontab -l 2>/dev/null; echo "5 0 * * * Rscript /root/transit-tracker/scripts_in_testing/download_gtfs.R ") | crontab -
(crontab -l 2>/dev/null; echo "* * * * * Rscript /root/transit-tracker/scripts_in_testing/get_tidy_gps.R ") | crontab -
wget https://download3.rstudio.org/ubuntu-12.04/x86_64/shiny-server-1.5.3.838-amd64.deb
sudo gdebi -n shiny-server-1.5.3.838-amd64.deb
sudo sed -i 's/ listen 3838;/ listen 80;/' /etc/shiny-server/shiny-server.conf
# then reboot
В ответ я получаю:
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package
Executing: /tmp/tmp.EeBdzAP95F/gpg.1.sh --keyserver
keyserver.ubuntu.com
--recv-keys
E298A3A825C0D65DFD57CBB651716619E084DAB9
" not a key ID: skipping57CBB651716619E084DAB9
E: Invalid operation update
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package r-base
E: Unable to locate package r-base-dev
E: Unable to locate package gdebi-core
-su: R: command not found
-su: R: command not found
-su: R: command not found
-su: R: command not found
-su: R: command not found
'rontab: invalid option -- '
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
'rontab: invalid option -- '
crontab: usage error: unrecognized option
usage: crontab [-u user] file
crontab [ -u user ] [ -i ] { -e | -l | -r }
(default operation is replace, per 1003.2)
-e (edit user's crontab)
-l (list user's crontab)
-r (delete user's crontab)
-i (prompt before deleting user's crontab)
--2017-05-08 22:39:38-- https://download3.rstudio.org/ubuntu-12.04/x86_64/shiny-server-1.5.3.838-amd64.deb%0D
Resolving download3.rstudio.org (download3.rstudio.org)... 52.85.90.213, 52.85.90.39, 52.85.90.98, ...
Connecting to download3.rstudio.org (download3.rstudio.org)|52.85.90.213|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-05-08 22:39:38 ERROR 404: Not Found.
sudo: gdebi: command not found
: No such file or directoryserver/shiny-server.conf
Как вы подтвердили в комментариях, ваш скрипт был написан в системе Windows и содержит окончание строк в стиле Windows (CR + LF) вместо Unix-стиля (LF), что было бы необходимо.
Чтобы легко преобразовать окончания строк текстовых файлов между DOS / Windows и стилем Unix, установите пакет с именем dos2unix:
sudo apt install dos2unix
Он поставляется с двумя командами dos2unix для преобразования Windows текстовый файл в формат Unix и unix2dos для преобразования текстового файла Unix в формат Windows.
В вашем случае просто запустите
dos2unix FILENAME
, заменив FILENAME на ваш фактический имя файла сценария, и после этого он должен работать нормально.
Как вы подтвердили в комментариях, ваш скрипт был написан в системе Windows и содержит окончание строк в стиле Windows (CR + LF) вместо Unix-стиля (LF), что было бы необходимо.
Чтобы легко преобразовать окончания строк текстовых файлов между DOS / Windows и стилем Unix, установите пакет с именем dos2unix:
sudo apt install dos2unix
Он поставляется с двумя командами dos2unix для преобразования Windows текстовый файл в формат Unix и unix2dos для преобразования текстового файла Unix в формат Windows.
В вашем случае просто запустите
dos2unix FILENAME
, заменив FILENAME на ваш фактический имя файла сценария, и после этого он должен работать нормально.
Как вы подтвердили в комментариях, ваш скрипт был написан в системе Windows и содержит окончание строк в стиле Windows (CR + LF) вместо Unix-стиля (LF), что было бы необходимо.
Чтобы легко преобразовать окончания строк текстовых файлов между DOS / Windows и стилем Unix, установите пакет с именем dos2unix:
sudo apt install dos2unix
Он поставляется с двумя командами dos2unix для преобразования Windows текстовый файл в формат Unix и unix2dos для преобразования текстового файла Unix в формат Windows.
В вашем случае просто запустите
dos2unix FILENAME
, заменив FILENAME на ваш фактический имя файла сценария, и после этого он должен работать нормально.