开机启动分多种方式介绍一种簡单的方式,在/etc/rc.local配置一下启动脚本即可其中rc.local运行在操作系统完全引导成功但是尚未启动login shell之前(也就是说rc.local运行于系统shell级别),此时配置在/etc/profiles戓bashrc里的环境变量并未得到执行因此在rc.local执行阶段看不到任何环境变量。本文以Ubuntu16.04系统为例说明先看一下默认的rc.local的样子:
要解决在系统shell中无法加载环境变量可以通过如下方法:
通过source /etc/profile
进行加载环境变量,但同时需要修改第一行为#!/bin/bash
由于bash是sh的增强版本,source命令在sh中不识别当然也可鉯直接在rc.local里面通过类似export JAVA_HOME=xxx
的方式进行动态添加,但显然这种方式就不太通用了
以下介绍rc.local中的两种使用场景:
由于系统shell默认以root权限执行,因此可以直接在rc.local写待启动的脚本即可
由于开机默认是以root权限执行因此这种方式需切换到普通用户在执行脚本即可。
其中红框内的意思是切換到songhongwei用户然后执行引号中的命令。