在Shell文件创建的tmux会话中激活虚拟环境

时间:2020-09-17 09:51:52

标签: shell sh virtualenv tmux

我写了一个shell脚本,理想情况下应该创建一个tmux会话并在其中激活虚拟环境。但是创建tmux会话后它不会激活它。这是代码段:

cd /home
cd Portals/
tmux new-session -d -s devgeo 
source activate.sh

这是我的activate.sh文件

source "venv/bin/activate"

我在做什么错。有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

您正在当前shell中执行source activate.sh,而不是在新创建的tmux会话中运行的shell中执行。使用send-keys命令将该命令发送到Shell,就像您自己键入命令一样。

tmux new-session -c /home/Portals -d -s devgeo
tmux send-keys -t devgeo:1 "source activate.sh" C-m

-c选项使您可以设置新会话的工作目录,而不必更改当前shell的工作目录。)

相关问题