因此,我正在尝试创建一个脚本,该脚本启动一个urxvt终端,同时获取一个venv/bin/activate python环境,如下所示:
virtualenv -p /usr/bin/python2.7 /tmp/venv;
urxvt -e sh -c "bash -c 'source /tmp/venv/bin/activate'; bash"由于某种原因,我不能让它工作。
有没有人知道另一种方法来实现这一点?
发布于 2019-03-22 16:29:59
通过将其更改为以下内容解决了它:
urxvt -e bash -c "source /tmp/venv/bin/activate; sh"不过,我不确定为什么会这样。
发布于 2019-03-22 22:29:08
该命令的问题
urxvt -e sh -c "bash -c 'source /tmp/venv/bin/activate'; bash"第一个bash获取activate脚本,然后退出,这样第二个bash就不会在venv被激活时启动。在激活venv的情况下,在-c '…'中运行第二个bash:
urxvt -e sh -c "exec bash -c 'source /tmp/venv/bin/activate && exec bash'"PS。我喜欢使用exec来替换当前的shell,而不是让它分叉和等待。节省了几个处理器周期和几个字节的内存。
https://stackoverflow.com/questions/55295382
复制相似问题