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.

相关推荐