用普通用户登录,然后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