小编akl*_*mie的帖子

当我使用 sudo 命令但不作为默认 root shell 时,如何使用 ZSH?

所以,我想保留bashroot 的默认 shell。

但是,当我运行命令时,我更喜欢使用zsh我的 shell sudo,它sudo也会执行 /root 中的 .zshrc。

/root/.zshrc出于测试目的,我在 my和中创建了一个别名~/.zshrc

alias test1='echo "Test OK"'
Run Code Online (Sandbox Code Playgroud)

现在,当我跑步时sudo su enter zsh enter test1 enter

我得到了预期的结果:Test OK

然而,所有这些命令都会导致:test1: command not found

sudo test1
sudo su -c 'zsh -c test1'
sudo -E zsh -c 'test1'
sudo ZDOTDIR=/root/.zshrc test1
sudo ZDOTDIR=/root/.zshrc zsh -c 'test1'
sudo ZDOTDIR=/root/.zshrc zsh -c 'source /root/.zshrc && test1'
Run Code Online (Sandbox Code Playgroud)

在askubuntu上发现了这个问题,但我认为这与Unix和Linux上的这个问题更相关。

然而,这些帖子都没有帮助我。

我想在最终实现的是创建一个简单的别名,sudo当我想与其 /root/.zshrc 文件一起使用时可以替换 …

command-line bash sudo zsh

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

command-line ×1

sudo ×1

zsh ×1