如何设置新的新终端以保留以前的终端会话?

时间:2020-09-01 10:42:07

标签: linux terminal gnome-terminal

在linux中,(在我的Mac上,我可以在iterm2中的设置中执行此操作)如何设置终端仿真器,以便为打开的每个新终端维护会话?

例如:如果我在终端的~/code/文件夹中,则我将打开一个新终端,我也应该在新终端的~/文件夹中,而不是result = [] for l in summary.tolist(): new_l = [] for v in l: try: new_l.append(int(v)) except ValueError: new_l.append(v) result.append(tuple(new_l)) < / p>

我的用例是在使用i3时我不会失去上下文

是否存在可以执行此操作的设置或推荐的仿真器,是否可以通过编程方式完成此实现?

1 个答案:

答案 0 :(得分:2)

我不确定您为什么要这样做,因为您可以通过搜索命令的历史记录来简单地访问“频繁” cd目录。

但是,如果您真的想这样做,一个(肮脏的?)技巧将在您的.bashrc中添加:

# this is in ~/.bashrc
exit() {
  sed -i '${
            /^cd /{c\cd '"$PWD
          "'q};a\cd '"$PWD
          }" $HOME/.bashrc
  command exit
}

它的作用是(隐式)打印直到第二行并包括第二行到最后一行的所有行,然后在最后一行($)上检查最后一行是否以cd,后跟空格;如果存在,它将c挂在cd $PWDq个uits上;如果不是,则在cd $PWD行的末尾加上_ {a