为什么 `which tmux` 和 `sudo which tmux` 返回 2 个不同的值?

为什么 `which tmux` 和 `sudo which tmux` 返回 2 个不同的值?
ssh bobby@tony:~$ which tmux                                                                        
/usr/bin/tmux
ssh bobby@tony:~$ sudo which tmux                                                                   
/usr/local/bin/tmux
ssh bobby@tony:~$ echo $PATH                                                                        
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/local/sbin:/usr/local/sbin
ssh bobby@tony:~$ sudo echo $PATH                                                                   
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/local/sbin:/usr/local/sbin

有人知道这是怎么回事吗?为什么sudo which tmux返回 /usr/local/bin/tmux 而不是 /usr/bin/tmux?

PS:我安装了 2 个版本的 tmux(一个在 /usr/bin 中,另一个在 /usr/local/bin 中)。

答案1

这是因为您的root用户有不同的路径。

sudo echo $PATH

印刷你的小路。由你的 shell 进行变量扩展, sudo启动(并将其作为命令行参数传递,展开)。

尝试:

sudo sh -c 'echo $PATH'

相关内容