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/bin/tmuxの代わりに/usr/local/bin/tmuxが返されるのはなぜですか?
PS:2つのバージョンのtmuxがインストールされています(1つは/usr/binにあり、もう1つは/usr/local/binにあります)。
答え1
これはroot
、ユーザーのパスが異なるためです。
sudo echo $PATH
印刷あなたの道。シェルによる変数の拡張、今後 sudo
始めます(そしてコマンドライン引数として渡して拡張します)。
努力する:
sudo sh -c 'echo $PATH'