我可以在特定终端中运行该命令吗?

我可以在特定终端中运行该命令吗?

操作系统:Linux mint 19.2 Cinnamon 外壳:Zsh 终端:Tilix

我想创建一个 shell 脚本。其中有 2 个步骤。

  1. 打开新终端。
  2. source bin/activate在我打开的终端上运行。

如何source bin/activate在特定 shell 中运行命令?

我认为关键点是pid。

我认为如果我使用 pid,它就可以工作。

如何source bin/activate在特定 shell 中运行命令?

关系:我想创建启动器。当我单击它时,打开 shell 并运行 `source ~/venv/bin/activate && cd ~/workspace/python_script`

答案1

我们将使用ZDOTDIR环境变量来获取自定义启动文件。创建一个目录,例如,~/.config/zsh/.zshrc在其中创建一个包含以下内容的文件:

#!/bin/sh
# By default, this file will not be sourced by zsh.

# Source config files at the default places:
. ~/.zshrc
. ~/.zshenv

# custom commands:
. ~/bin/activate

现在您可以运行(替换$TERMINAL为您的终端模拟器,例如tilix

ZDOTDIR=~/.config/zsh $TERMINAL -e zsh

打开一个使用自定义 .zsh 运行 zsh 的新终端ZDOTDIR

另请参阅:Zsh 启动/关闭文件 – ArchWiki

相关内容