如何在zsh中执行脚本并进入交互模式?

5

我希望在调用zsh后(即执行了.zshrc文件后)运行预定的一组命令,以便在完成时将用户返回到交互式 shell。

以下是我想到的一些内容:

urxvt -e 'zsh -c ". scriptname"'

但是,我希望脚本完成后不要退出zsh和终端,而是要在最后得到一个交互式的shell。这样做的想法很简单,就是为了让用户在每次登录时不必再键入". scriptname"。

应用场景:有几个用户正在使用同一个帐户(奇怪但真实),我希望帮助调整特定用户的设置。是的,我知道可以为此使用不同的帐户 :-)

1个回答

3

这并不是您想要的答案,但可以达到所需的效果。您可以使用环境变量来传递用户特定脚本的名称,然后在.zshrc(或其他适当的启动文件)中引用。

urxvt -e 'USERSCRIPT=scriptname zsh'

然后在实际用户的.zshrc文件中,包含以下内容:

. $USERSCRIPT

这并不意味着没有一种方法可以运行命令然后保持交互模式;我只是找不到一种方法来实现,所以我提供了这个解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接