bash脚本启动新shell并继续运行命令

时间:2018-01-02 06:41:08

标签: bash shell jupyter-notebook pipenv

我是编写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时,它会尝试执行剩余的行。有没有办法让脚本从头到尾运行所有这些命令?

1 个答案:

答案 0 :(得分:6)

根据manual

  

shell会在virtualenv激活的情况下生成一个shell。

这不是你需要的。而是使用run

  

run将使用任何参数运行virtualenv中的给定命令   转发(例如$ pipenv run python)。

在你的情况下,像

pipenv run python -m ipykernel install --user --name==new-virtual-env