【问题标题】:How to run set of terminal commands in a file one by one?如何在一个文件中一个一个地运行一组终端命令?
【发布时间】:2018-06-14 05:51:02
【问题描述】:

我在做一个 Django 项目,每次打开项目,我都要一一运行这三个命令。

source virtualenv/bin/activate(激活虚拟环境)

cd myproject(进入项目文件夹)

python3 manage.py runserver(运行服务器)

有没有办法可以将这三个命令写入一个文本文件(或其他文件)中,以便单个命令一个接一个地运行这三个命令?

在运行这三个命令之前,终端是这样的:

运行这三个命令后,终端应该是这样的:

【问题讨论】:

  • 你的意思是像一个shell脚本?
  • 是的,如果可能的话。
  • 既然您知道要查找什么,您应该可以轻松找到它。
  • 实际运行的 shell 脚本并没有显示终端的任何变化。我希望它激活虚拟环境并运行服务器。但它没有发生。或者我不知道我是否编写了正确的脚本。

标签: bash shell command


【解决方案1】:

试试这个: 在文件runscript.sh

#!/bin/bash
source virtualenv/bin/activate
cd myproject
python3 manage.py runserver

然后运行命令:. runscript.sh 而不是 ./runscript.sh

【讨论】:

  • ./runscript.sh 和 . runscript.sh 使后者按 OP 的预期工作
【解决方案2】:

将以下内容保存到文件runserver.sh

#!/bin/bash
source virtualenv/bin/activate && cd myproject && python3 manage.py runserver

chmod 744 runserver.sh

你可以运行./runserver.sh

&& 将确保上一个命令在运行下一个命令之前成功。如果任何命令运行失败,它将中止休息。

【讨论】:

  • 这不行。虚拟环境没有激活,也没有进入'myproject'文件夹。但它只是在运行服务器。
猜你喜欢
  • 2015-05-11
  • 2017-01-05
  • 2017-02-07
  • 2019-02-12
  • 1970-01-01
  • 2014-03-08
  • 2021-11-20
  • 1970-01-01
  • 2014-09-17
相关资源
最近更新 更多