linux下报错bash: service: command not found
在linux下操作的时候经常会遇到,bash:service:commandnotfound这个错误,以前在网上找了,照着弄了,也没细看原因,今天又碰到这个问题,就顺便研究一下。
1、通常这种情况是出现在通过suroot命令来进行操作的时候。
su或者suroot只是相当于以root用户身份来操作,实际的系统环境并没有切换到root用户的环境,而只是当前登录用户;
su-,-l,--login都是已经完全的切换的root环境下,相当于完全用root用户登录。
这里就看下su命令:su--help
看到su命令的帮助信息:
Java代码收藏代码
用法:su[选项]...[-][用户[参数]...]
ChangetheeffectiveuseridandgroupidtothatofUSER.
-,-l,--loginmaketheshellaloginshell
-c,--command=COMMANDpassasingleCOMMANDtotheshellwith-c
--session-command=COMMANDpassasingleCOMMANDtotheshellwith-c
anddonotcreateanewsession
-f,--fastpass-ftotheshell(forcshortcsh)
-m,--preserve-environmentdonotresetenvironmentvariables
-psameas-m
-s,--shell=SHELLrunSHELLif/etc/shellsallowsit
--help显示此帮助信息并退出
--version输出版本信息并退出
单独的-代表-l。如果未给出[用户],则假定为root。
2、service命令目录在/sbin/下
故解决此问题有两种方式:
a、直接使用su-root来切换到root用户,然后使用service
b、使用suroot切换到root用户,并同时使用/sbin/service来操作,如/sbin/servicemysqlrestart.