我正在使用 aws ubuntu 实例。我想创建一个别名/函数来运行一些快捷方式,例如在屏幕中激活 python 虚拟环境。
我已经做了这个功能,例如:
# Alias for jupyter notebook
function start_jupyter() {
cd my_path/lab_workspace/ # 1. cd into my workspace
source labworkspaceenv/bin/activate # 2. activate my python virtualenv
screen -S jupyter_lab # 3. start screen
echo 'You are in screen for jupyter lab' # 4. print something
jupyter lab # 5. start jupyter lab
}
问题是,当我使用 运行该函数时start_jupyter
,这似乎在创建屏幕后停止,但没有打印任何内容,并且 jupyterlab 未启动。
我究竟做错了什么?
答案1
该函数停止的原因是您生成了一个交互式屏幕会话。您可能想这样做:
screen -dmS jupyter_lab jupyter lab
这将创建一个名为 的独立屏幕会话jupyter_lab
并在其中执行命令。
根据screen --help
信息:
-dmS name Start as daemon: Screen session in detached mode.
所以,你的功能将是:
# Alias for jupyter notebook
function start_jupyter() {
cd my_path/lab_workspace/ # 1. cd into my workspace
source labworkspaceenv/bin/activate # 2. activate my python virtualenv
screen -dmS jupyter_lab jupyter lab # 3. start screen
}