【发布时间】:2026-02-03 06:05:01
【问题描述】:
我制作了一个简短的 shell 脚本,如下所示:
#!/bin/sh
PROJECT_NAME="my_project"
mkdir $PROJECT_NAME
cd $PROJECT_NAME
python3 -m venv beeware-venv
source beeware-venv/bin/activate
python3 -m pip install briefcase
briefcase new
当我使用sh create_new_beeware_project 运行此脚本时,失败的第一行是source beeware-venv/bin/activate;我得到的错误是“来源:未找到”。但是,如果我将每一行一一输入终端,一切正常。
这本身并不是什么大问题;最终,我可以手动输入命令。但是这让我觉得 shell 脚本有一些我不理解的重要内容,如果可能的话,我想向我解释一下。
【问题讨论】:
-
尝试添加 ./beeware-venv/bin/activate
-
如何运行脚本?这可能很重要,因为有一个错字(它应该以
#!开头,你已经交换了这些字符)。 -
source ./beeware-venv/bin/activate ,假设您正在从具有 beeware-venv 的终端路径运行脚本
-
可以尝试打印 pwd 和 ls 看看 shell 脚本当前目录是什么?
-
当你这样做时你能在列表中看到beeware-venv
标签: python terminal sh virtual-environment beeware