当我开始终端会话并且我的shell启动时,我希望它将我登录到特定目录而不是$HOME
。
例如,我注意到我经常开始一个新的shell会话并转移到/tmp
只是为了克隆一个git存储库或做一些快速和临时的东西,我想直接记录在一个目录中我的/sandbox
或我的shell启动时的东西,而不是我的$HOME
目录。
你们中任何人都知道如何在不修改我的用户主目录的情况下实现这一目标,也不会在我的.zshrc中添加一个愚蠢的cd /sandbox
吗?
非常感谢!
答案 0 :(得分:1)
我对此类问题的首选解决方案是使用一组包装器脚本来设置所需的环境属性,然后使用exec
交互式shell,通过任何命令行参数:
#!/bin/sh
# sandbox-sh
cd /sandbox
exec bash "$@"
更好的是,您可以启动GNU screen或tmux而不是单个shell - 您创建的任何新窗口都将与第一个共享相同的属性。或者,您也可以启动选项卡式终端模拟器 - 任何新选项卡也将共享包装器脚本中定义的环境。