这个问题在这里已有答案:
我是编写bash脚本的完全菜鸟。我正在尝试执行以下操作:
#!/bin/bash
mkdir New_Project
cd New_Project
pipenv install ipykernel
pipenv shell
python -m ipykernel install --user --name==new-virtual-env
jupyter notebook
我遇到的问题是,在执行pipenv shell
之后,它启动新shell,然后不执行最后两个命令。当我退出新shell时,它会尝试执行剩余的行。有没有办法让脚本从头到尾运行所有这些命令?
根据manual:
shell将激活virtualenv生成一个shell。
这不是你需要的。而是使用run
:
run将从virtualenv运行一个给定的命令,并转发任何参数(例如$ pipenv run python)。
在你的情况下,像
pipenv run python -m ipykernel install --user --name==new-virtual-env