bash脚本启动新shell并继续运行命令[重复]

问题描述 投票:6回答:1

这个问题在这里已有答案:

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

bash shell jupyter-notebook pipenv
1个回答
6
投票

根据manual

shell将激活virtualenv生成一个shell。

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

run将从virtualenv运行一个给定的命令,并转发任何参数(例如$ pipenv run python)。

在你的情况下,像

pipenv run python -m ipykernel install --user --name==new-virtual-env
© www.soinside.com 2019 - 2024. All rights reserved.