我是编写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时,它会尝试执行剩余的行。有没有办法让脚本从头到尾运行所有这些命令?
答案 0 :(得分:6)
根据manual:
shell会在virtualenv激活的情况下生成一个shell。
这不是你需要的。而是使用run
:
run将使用任何参数运行virtualenv中的给定命令 转发(例如$ pipenv run python)。
在你的情况下,像
pipenv run python -m ipykernel install --user --name==new-virtual-env