Shell 以编程方式启动su会话,运行命令,并保持在root提示符下

Shell 以编程方式启动su会话,运行命令,并保持在root提示符下,shell,zsh,sudo,su,Shell,Zsh,Sudo,Su,后台故事:我使用SSH连接到服务器,希望在其中看到个性化的根提示符。但是,其他人登录到这些服务器,不一定希望我更改提示 问题:如何创建zsh别名/函数,以便以普通用户身份登录,键入[my su shortcut]将从我的个人主目录启动su会话source.zshrc,并在根目录下提示我 alias mysu="su -c \"ZDOTDIR=$HOME zsh\"" 有关详细信息,请参阅 有关详细信息,请参阅。这正是我想要的!我改进了它,在ZDOTDIR前面加了/usr/bin/env(如果r

后台故事:我使用SSH连接到服务器,希望在其中看到个性化的根提示符。但是,其他人登录到这些服务器,不一定希望我更改提示

问题:如何创建zsh别名/函数,以便以普通用户身份登录,键入
[my su shortcut]
将从我的个人主目录启动su会话source.zshrc,并在根目录下提示我

alias mysu="su -c \"ZDOTDIR=$HOME zsh\""
有关详细信息,请参阅


有关详细信息,请参阅。

这正是我想要的!我改进了它,在ZDOTDIR前面加了
/usr/bin/env
(如果root的普通shell是csh,这将有助于移植性)。我还将.zshrc中
~
的所有实例替换为
$ZDOTDIR
,并在.zshrc顶部添加了以下行:
如果[-z“$ZDOTDIR”];然后ZDOTDIR=$HOME;fi
。这两个变化将zsh指向我个人的zsh脚本集合,而不管我是root用户还是普通用户。这就是我想要的!我改进了它,在ZDOTDIR前面加了
/usr/bin/env
(如果root的普通shell是csh,这将有助于移植性)。我还将.zshrc中
~
的所有实例替换为
$ZDOTDIR
,并在.zshrc顶部添加了以下行:
如果[-z“$ZDOTDIR”];然后ZDOTDIR=$HOME;fi
。这两个变化将zsh指向我个人的zsh脚本集合,而不管我是root用户还是普通用户。