您的位置:首页 > 运维架构 > Shell

linux下报错bash: service: command not found

2016-05-27 21:49 525 查看
在linux下操作的时候经常会遇到,bash: service: command not found这个错误,以前在网上找了,照着弄了,也没细看原因,今天又碰到这个问题,就顺便研究一下。 

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

这里就看下su命令:su --help 
看到su命令的帮助信息: 

Java代码  


用法:su [选项]... [-] [用户 [参数]...]  

Change the effective user id and group id to that of USER.  

  

  -, -l, --login               make the shell a login shell  

  -c, --command=COMMAND       pass a single COMMAND to the shell with -c  

  --session-command=COMMAND    pass a single COMMAND to the shell with -c  

                               and do not create a new session  

  -f, --fast                   pass -f to the shell (for csh or tcsh)  

  -m, --preserve-environment   do not reset environment variables  

  -p                           same as -m  

  -s, --shell=SHELL            run SHELL if /etc/shells allows it  

      --help     显示此帮助信息并退出  

      --version  输出版本信息并退出  

  

单独的 - 代表 -l。如果未给出[用户],则假定为 root。  

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

故解决此问题有两种方式: 
a、直接使用su - root来切换到root用户,然后使用 service 
b、使用su root切换到root用户,并同时使用/sbin/service来操作,如/sbin/service mysql restart.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: