Chinaunix首页 | 论坛 | 博客
  • 博客访问: 243772
  • 博文数量: 78
  • 博客积分: 2956
  • 博客等级: 少校
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-12 15:13
文章分类

全部博文(78)

文章存档

2012年(11)

2011年(27)

2008年(30)

2007年(10)

分类: LINUX

2011-10-10 13:38:31

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

阅读(6616) | 评论(0) | 转发(0) |
0

上一篇:修改镜像文件的大小

下一篇:原味美语

给主人留下些什么吧!~~