环境:Ubuntu 20.10
情景是这样,我写了一个开机启动脚本,加入到 Startup Applications 后,发现脚本执行后没有任何效果。尝试在脚本的尾部增加 echo $(date) > /tmp/shelldebug.log 发现确实时执行了的。原因应该还是出在脚本上,但是手动执行脚本还是正常,如果能记录下脚本执行时候的错误就好了,查了一下果然是有的。
格式如下
bash命令 >> normal.log 2>> error.log
例如下面的例子:
ls /var/log >> /tmp/normal1.log 2>>err1.log # normal1.log 会有正常输出,err1.log 不会有值ls-no /var/log >> /tmp/normal2.log 2>>err2.log # nomal2.log 不会有值,但是 err2.log 会有错误的原因记录
在命令的后面补充上日志输出,再次重启机器果然发现问题 error.log 中存在的问题,原来脚本执行需要 Java 环境,但是此时环境变量 Path 还没有加载出来,在执行命令前先 export 一下本地 Java 路径
export JAVA_HOME=/home/aijia/Android/android-studio/jre...other script
问题定位到就可以对症治疗了。
