非root用户登录,su切换到root后,执行service mysqld restart等命令,
得到错误提示:bash: service: command not found
这时先执行
su -l root
再执行之前的命令就可以了。
原因是这样的:
su 或者 su root的话只是将当前身份转为root,用户shell并没有改变,所以有些系统命令不能使用。
su -或者su -l或者su -l root,可以完全的将当前环境转为root环境,如同root直接登陆。
其次,service的路径为/sbin/service
如果shell没有改变,那么你的PATH中默认没有/sbin,所以不行,而如果用su -命令环境改为root,PATH中就包含/sbin