繁体   English   中英

Bash脚本无法在启动时运行

[英]Bash script won't run at startup

我制作了以下bash脚本,并将其添加到google cloud VM的启动脚本下。 它似乎什么也没做,但是我不太明白为什么。 这是代码。 我没有.sh脚本的经验,所以我可能缺少一些简单的东西。 如果有人可以帮忙,我会很高兴。

#! /bin/bash
apt-get update
apt-get install python3-pip
apt-get install python3-venv
git clone https://github.com/account/myrepo.git
python3 -m venv myrepo
cd myrepo
source bin/activate
pip3 install beautifulsoup sklearn numpy pandas 
screen -AmdS  ./myrep/main.py

编辑:“在启动脚本下添加”表示在创建Google vm时可以将启动脚本添加到实例。 请参阅https://cloud.google.com/compute/docs/startupscript一节“直接提供启动脚本内容”

***编辑@Jofre的以下评论:根据官方文档,您不需要sudo

网络可用后,实例始终以root用户身份执行启动脚本。


以下内容可能取决于您使用的Linux发行版,至少在Debian中应该如此。 如果以下方法不起作用,请使用有关您的分布的信息来编辑您的帖子。

  1. 您缺少sudo命令。
  2. 您应该在某些命令中添加-y标志,以确保其自动接受安装。
  3. beautifulsoup和sklearn不是正确的软件包。 合适的是beautifulsoup4scikit-learn
  4. 我对screen命令不是很熟悉,但是以您发布的方式运行它给我带来了一些麻烦。 我宁愿转到文件所在的目录,然后直接运行: screen -AmdS main.py

因此,您的文件应如下所示:

#! /bin/bash
apt-get update -y
apt-get install python3-pip -y
apt-get install python3-venv -y
apt-get install git -y
git clone https://github.com/account/myrepo.git
python3 -m venv myrepo
source myrepo/bin/activate
pip3 install beautifulsoup4 numpy scikit-learn pandas
cd  /{path-to-your-main.py-file}/
screen -AmdS main.py                         

通常,最好在运行相同操作系统的某些计算机上测试启动脚本的命令,并验证所有命令是否在没有进一步交互的情况下运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM