如何在zsh中执行脚本然后变为交互式?

时间:2014-01-10 15:34:00

标签: shell zsh execute interactive

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

我想到了这样的事情:

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

但是,一旦脚本完成,我不想退出zsh和终端,而是在最后想要一个交互式shell。我们的想法是简单地保护用户不必在登录时输入“.scriptname”。

应用程序:有几个用户正在使用相同的帐户(奇怪但真实),我想帮助调整用户特定的设置。是的,我知道可以使用不同的帐户: - )

1 个答案:

答案 0 :(得分:3)

不是你要求的,但应该有你想要的结果。您使用环境变量将特定于用户的脚本的名称传递给.zshrc(或其他适当的启动文件)。

urxvt -e 'USERSCRIPT=scriptname zsh'

然后在.zshrc中为实际用户添加

. $USERSCRIPT

(所有这一切并不是说没有选项来运行命令然后保持交互模式;我找不到办法来做到这一点,所以我提供了这种解决方法。)