【发布时间】:2012-01-25 18:12:13
【问题描述】:
背景故事:我通过 SSH 连接到想要查看个性化 root 提示的服务器。但是,其他人登录这些服务器并不一定要我更改提示。
问题:如何创建一个 zsh 别名/函数,以便我可以作为普通用户登录,输入 [my su shortcut] 将启动一个 su 会话,从我的个人主目录获取 .zshrc,然后将我留在根提示符?
【问题讨论】:
背景故事:我通过 SSH 连接到想要查看个性化 root 提示的服务器。但是,其他人登录这些服务器并不一定要我更改提示。
问题:如何创建一个 zsh 别名/函数,以便我可以作为普通用户登录,输入 [my su shortcut] 将启动一个 su 会话,从我的个人主目录获取 .zshrc,然后将我留在根提示符?
【问题讨论】:
alias mysu="su -c \"ZDOTDIR=$HOME zsh\""
详情请见zsh(1)。
【讨论】:
/usr/bin/env 来改进它(如果 root 的普通 shell 是 csh,这将有助于可移植性)。我还将 .zshrc 中的所有 ~ 实例替换为 $ZDOTDIR,并将以下行添加到 .zshrc 的顶部:if [ -z "$ZDOTDIR" ]; then ZDOTDIR=$HOME; fi。这两个更改将 zsh 指向我个人的 zsh 脚本集合,无论我是 root 用户还是普通用户。