Install lighttpd in Mac OS X
2014-10-22更新: 加入更新到 Yosemite 后出现错误的解决方法。
在Windows上,我使用的是XAMPP套件。
Mac上我还没有安装HTTP服务器。我的VPS上使用的是lighttpd(从Apache到Lighttpd),因此在工作电脑上也希望使用它。
安装
1-> % brew search lighttpd 2lighttpd 3-> % brew install lighttpd安装过程中,有几个重点需要提醒:
阅读更多在编写一些比较耗时的程序时,我经常需要在屏幕上显示一些进度信息。默认的echo在输出的时候,会将每一条进度信息换行显示,就像下面这样:
1for i in {1..3};do 2 sleep 1 3 echo "第$i次" 4done 5# 输出 6第1次 7第2次 8第3次如果希望每次显示替换掉前一次显示,可以这样处理:
阅读更多在进行自动部署的时候,经常需要用脚本获取程序的最新版本号,下面是我的两个解决方案。
for SVN
阅读更多1# 获取XML版本的svn信息,这样可以避免不同语言的问题 2xml=`svn info --xml --incremental` 3# 我们可以获取到2个版本号,一个是最新版本库版本号,一个是自己的提交版本号。删除自己提交的版本号。 4revision=`echo "$xml"|sed '/revision/!d'|sed '$d'` 5# 提取出版本号的数字部分 6echo $revision|sed …split string to array in bash
和AS中的String.split不同,Bash没有类似的语法,但它实在是太灵活了,有很多种方式可以做类似的事情。
以前我写过一篇 Bash数组操作教程 ,今天使用Bash做文件处理的时候,发现有必要再写一篇将字符串拆分成数组的教程。但发现有人已经写了更好的教程在前面了,于是就偷懒转过来好了。
阅读更多很简单的一个匹配ip地址的测试,死活就是匹配不了:
1newip='192.168.1.100' 2if [[ "$newip" =~ '^([0-9]{1,3}\.){3}[0-9]{1,3}$' ]];then 3 echo '找到了ip地址' 4fi翻遍了google中的中文资料,都没发现问题。最后终于用英文搜到《Advanced Bash-Scripting Guide》中的一篇介绍Bash版本的文章,其中写道:
阅读更多由于安全或者其它原因,我们可能会修改默认的SSH服务端口号,默认情况下,已有的git项目在pull或者push的时候会报错。
现在假设原来的项目的remote设置为
git@domain.com:Projects/p1.git,将服务器SSH默认端口修改为3022后,导致push出错。有两个解决办法:
阅读更多- 2012-03-12更新
判断DNSPOD API返回值为空的情况,这种情况每天会出现2-3次,这种情况不退出程序,而是继续等待; - 2012-03-11更新
- 调整了部分正则表达式的写法;
- 增加了错误判断功能。
- 2012-03-10 更新
支持多域名多记录。- 多域名使用数组定义,每个元素代表一个域名的一组要更新的子记录;
- 仅支持A记录的更新,因为其他类型的记录可能有重名的情况出现;
- 每一组记录,以空格分隔域名和子域名;
- 第一个空格前为主域名,后面用空格分离多个子域名;
- 如果使用泛域名,必须用
\*转义。
以下为要更新的域名范例:
阅读更多1domainList[0]='domain1.com \* @' 2 …- 2012-03-12更新
一、定义数组
1. 使用[]操作符
1names[0]='zrong' 2names[1]='jacky'2. 使用()直接赋值
1names=('zrong' 'jacky') 2# 或 3names=([0]='zrong' [1]='jacky')3. 使用declare -a定义数组。这种方法可以将一个空的变量定义成数组类型。
1declare -a names4. 从文件中读取数组
阅读更多1cat>names.txt 2zrong 3jacky 4sweet 5Ctrl+C 6# 将每一行读取为数组的 …- 2011-09-09更新:为《学习Bash(第二版)》PDF手工加入书签。
- 2011-09-20更新:加入《Learning.The.Bash.Shell.3rd》下载。
有一批形如
阅读更多map_XXX.XXX的文件,要改名为map1_XXX.XXX。如果使用其他改名工具改名,git 会认为是删除了这些文件,并要求将改名后的文件重新添加到版本库,这会无端的增加版本库的大小。