在开机时要自动执行一些脚本,最简单的办法是在/etc/rc.local中加入相应的脚本。
示例:从某个元数据服务获取信息,并写入到文件中
- privateIP="`curl -m 10 -s `"
-
if [$privateIP]; then
-
sed -i '1a\
-
'${privateIP}' $Hostname
-
' /etc/hosts
-
fi
# other scripts
在执行privateIP="`curl -m 10 -s `"时,可能会遇到Connection timeout的情况,我的需求是即使遇到错误也要执行后续的脚本。然后发现执行到这一句时就退出了当前的shell,后续的脚本并未运行。
检查了rc.local文件后,看到第一行
原来参数-e表示一旦出错,就退出当前的shell。去掉-e之后达到了我的预期效果。
阅读(6616) | 评论(0) | 转发(0) |