命令的默认路径是什么sudo
?我检查了一些 Linux 版本和一些 Solaris 版本,它是:
/usr/bin/sudo
如果 Solaris 机器没有捆绑sudo
,那么如果我们通过外部包安装它,它将安装在哪里?
我正在开发一个适用于所有基于 Unix 的系统发现脚本。它将根据 uname 命令的输出执行。
为了在没有 root 用户的情况下获取机器信息,我可以使用sudo
命令创建一个会话,为此我需要该sudo
命令的默认路径。
答案1
使用哪里查找命令位置/路径
$ whereis whereis
sudo: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz
答案2
Linux 的默认路径通常应该是/usr/bin/sudo
,但对于所有 unix,甚至一些定制的 Linux 发行版,它实际上可以是任何地方(比如/usr/local/bin/sudo
,甚至是某个链接/opt/bin/sudo
,或/srv/bin/sudo
等等)。
假设它在你的 PATH 中(它应该在),那么你应该使用 which 来发现它
sudocmd=`which sudo`
因为同一发行版上的安装前缀可能会有所不同,这取决于安装方式。