1 . 编辑:
/etc/rc.local
新增想要被执行的命令即可(预设是以 root 使用者执行)。
注: 有些很特殊的情况 /etc/rc.local 不会被执行,可以 编辑 /etc/init.d/rc.local see link: http://www.linuxidc.com/Linux/2016-12/138665.htm
2 . 以期望的使用者执行命令:
su -c ‘ls -l “myfile.txt”‘ guowei &
解释: 其中需要被执行的命令是 ls -l “myfile.txt”, 期望的使用者的 guowei, & 表示在后台执行。
3 . 开机以 screen 执行程式指令码,并新增环境变数(no-login):
#!/bin/bash
# 环境变数要在 su 之前设定好,然后 sudo -E 保持环境变数
# 如果直接是 root 使用者执行该指令码,则只需要 su -p 或者 su -m 保持环境变数即可
export GUOWEI_DIR=/home/guowei
export PATH=/opt/bin:$PATH
source /home/guowei/.bashrc
if [ -e /opt/my_app ]; then
# sudo -E su -p -l guowei << BASH # 如果要以 guowei 使用者执行那些程式的话,去掉注释即可。 su – 表示切换的环境变数,sudo 需要新增 -E 选项。 su -p guowei << BASH # 以使用者 guowei 执行以下命令,注意不要加 sudo, 否则就需要以 sudo -E 执行。 cd /home/guowei screen -d -m /opt/my_app # BASH fi # 或者将 export 写在 -c 内部, 加上 -c 和 单引号: su guowei -c 'export A=/opt/bla; blabla~; /opt/my_app' // 注意:双引号跟单引号有区别