linux下报错bash: service: command not found

来源:互联网 发布:macbook办公软件 编辑:程序博客网 时间:2024/04/28 17:21
在linux下操作的时候经常会遇到,bash: service: command not found这个错误,以前在网上找了,照着弄了,也没细看原因,今天又碰到这个问题,就顺便研究一下。 

1、通常这种情况是出现在 通过su root命令来进行操作的时候。 
su或者su root 只是相当于以root用户身份来操作,实际的系统环境并没有切换到root用户的环境,而只是当前登录用户; 
su -,-l,--login都是已经完全的切换的root环境下,相当于完全用root用户登录。 



这里就看下su命令:su --help 
看到su命令的帮助信息: 
Java代码  收藏代码
  1. 用法:su [选项]... [-] [用户 [参数]...]  
  2. Change the effective user id and group id to that of USER.  
  3.   
  4.   -, -l, --login               make the shell a login shell  
  5.   -c, --command=COMMAND       pass a single COMMAND to the shell with -c  
  6.   --session-command=COMMAND    pass a single COMMAND to the shell with -c  
  7.                                and do not create a new session  
  8.   -f, --fast                   pass -f to the shell (for csh or tcsh)  
  9.   -m, --preserve-environment   do not reset environment variables  
  10.   -p                           same as -m  
  11.   -s, --shell=SHELL            run SHELL if /etc/shells allows it  
  12.       --help     显示此帮助信息并退出  
  13.       --version  输出版本信息并退出  
  14.   
  15. 单独的 - 代表 -l。如果未给出[用户],则假定为 root。  


2、service命令目录在/sbin/下 

故解决此问题有两种方式: 
a、直接使用su - root来切换到root用户,然后使用 service 
b、使用su root切换到root用户,并同时使用/sbin/service来操作,如/sbin/service mysql restart.