Bash 脚本和可执行脚本

Bash 脚本和可执行脚本

我正在尝试在虚拟环境中运行 django 与 Jupyter 结合使用。以下代码可以完成这项工作:

source home/sujith/dev/django/bin/activate  && python home/sujith/dev/django/src/manage.py shell_plus --notebook

我将脚本保存django.sh在我的主目录中。如果我运行,./django.sh笔记本就会弹出。

我尝试将其保存在 中/bin,但无法运行它。我想在终端中输入django而不是./django.sh并运行上述脚本。

我怎样才能实现这个目标?

答案1

作为ponsfrilus 说,您必须使用绝对路径(以 开头的路径/)才能使命令从/bin或运行/usr/local/bin。因此您的脚本应变为:

source /home/sujith/dev/django/bin/activate && python /home/sujith/dev/django/src/manage.py shell_plus --notebook

要将其作为 运行django,您必须将脚本保存在文件顶部名为 的文件中django#/bin/bash然后通过运行使其可执行:

chmod u+x /path/to/django

/path/to/django您的脚本的绝对路径在哪里。

/bin最后,通过运行将脚本移动到:

sudo mv /path/to/django /bin

django现在您只需在终端中输入即可运行脚本。


另一个更简单的选项是为您的脚本创建别名,方法是在文件末尾添加以下内容.bashrc

alias django='source /home/sujith/dev/django/bin/activate && python /home/sujith/dev/django/src/manage.py shell_plus --notebook'

然后关闭终端并重新打开它或运行以下命令以使别名生效:

source .bashrc

相关内容