当前位置: > Linux服务器 > apache >

centos oot用户service httpd报错bash: service: command not fo

时间:2014-07-01 13:39来源:linux.it.net.cn 作者:IT网

用普通用户登录,然后su到root用户,准备重启httpd服务
[root@localhost nagios-3.2.3]# service httpd restart
bash: service: command not found

国外一个论坛有解释,大家也可以参考一下:
http://www.linuxquestions.org/questions/linux-newbie-8/service-__-restart-bash-command-isnt-working-102136/
说不能使用su root这种形式转到root。

需要使用
[root@localhost nagios-3.2.3]$ su – root
或者
[root@localhost nagios-3.2.3]$ su -
或者
直接su root然后写service绝对路径  /sbin/service servicename start
转到root用户才能使用service。
这样就不会再出现bash: service: command not found 错误了。

至于,为什么要用-符号?看了下su命令的help
[root@localhost ~]# su –help
Usage: su [OPTION]… [-] [USER [ARG]…]
Change the effective user id and group id to that of USER.

-, -l, –login               make the shell a login shell
-g –group=group             specify the primary group
-G –supp-group=group        specify a supplemental group
-c, –commmand=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     display this help and exit
–version  output version information and exit

A mere – implies -l.   If USER not given, assume root.

Report bugs to <bug-coreutils@gnu.org>.

就是这个-或-l或–login,其实都是一样的效果
-, -l, –login   make the shell a login shell

(责任编辑:IT)
------分隔线----------------------------