加入收藏 | 设为首页 | 会员中心 | 我要投稿 新余站长网 (https://www.0790zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux中su命令无法找到是啥原因,该怎样解决

发布时间:2023-09-06 10:06:21 所属栏目:Linux 来源:网络
导读:   关于“Linux中su命令找不到是啥原因,该怎样解决”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有
  关于“Linux中su命令找不到是啥原因,该怎样解决”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。
 
  在linux中,可以重新设置环境变量PATH来解决su命令找不到的问题;该问题产生的原因是“/bin”不在PATH环境变量中,重新设置环境变量为“export PATH="/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/bin:/sbin"”即可。

  在我们安装一些软件的时候,为了方便使用,比如jre等,可能需要设置一些环境变量。但是在设置环境变量时,要非常小心,由于我是新手,对环境变量的设置不太熟悉,在设置PATH环境变量时,将环境变量PATH的值给覆盖掉。为了防止这种情况的发生,在设置相应的环境变量时,应将原来的值也加上,如设置PATH的值,可这样进行操作:PATH=$PATH:/***/***/***。“=”后面的PATH是指设置的值。当然,最好的办法,就是你不用系统那些环境变量,定制符合自己要求的环境变量,那么就不会发生上面的提到的问题了。如:
 
  export JAVA_HOME=“/usr/local/jre“,JAVA_HOME就是自己定制的环境变量。
 
  那么,问题发生时怎么办呢?若发生将会出现下面的情况, 例如输入su命令 'su'可在 '/bin/su'处找到
 
  由于/bin不在PATH环境变量中,故无法找到该命令。
 
  su:找不到命令
 
  不管你输入什么命令,都会出现上面的提示。当然,此时你仍然可以执行相应的命令,只不过此时要输入命令的绝对路径。例如,此时你输入“sudo gedit 文件名”,会出现错误提示信息,但如果输入“/usr/bin/sudo gedit 文件名”就可以了。
 
  解决办法:重新设置环境变量PATH, export PATH="/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/bin:/sbin"。
 
  扩展知识:
 
  Linux su(英文全拼:switch user)命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
 
  使用权限:所有使用者。
 
  语法
 
  su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
 
  参数说明:
 
  -f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
 
  -m -p 或 --preserve-environment 执行 su 时不改变环境变数
 
  -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
 
  -s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
 
  --help 显示说明文件
 
  --version 显示版本资讯
 
  - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
 
  USER 欲变更的使用者帐号
 
  ARG 传入新的 shell 参数
 

(编辑:新余站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章