Today I found out that
/etc/rc.local didn’t execute all of my commands that were written in the file. The content of the
/etc/rc.local is like this:
I tried to execute
/etc/rc.local manually, then I found that
command1 failed in the middle of running and
/etc/rc.local detected this phenomenon and it stopped running too, without considering the feelings of
command3. This is weird, because normally a bash file will execute every command in its file no matter one of the command fails or not. After searching for a while on the Internet. I found that it was
-e option that made this happen.
-e will make sure the script stop running when an error occurrs. It is essential for PC booting, because if a command fails, there’s no guarantee that other commands will be running normally. But I don’t need this, I just want every command to be executed no matter what happens. so I removed the
-e option. Then Everything is fine. Now even when
command3 will still get to be executed.