xmake在xmake.lua中提供了 $(varname) 的语法,来支持内置变量的获取,例如:
lua
add_cxflags("-I$(buildir)")
它将会在在实际编译的时候,将内置的 buildir 变量转换为实际的构建输出目录:-I./build
并且这些变量在自定义脚本中,也是可以支持的,例如:
lua
target("test")
after_build(target)
print("build ok for $(plat)!")
end
这将会在编译完后,输出:
lua
build ok for macosx!
这些内置变量,大部分都是通过配置的时候,缓存的
继续阅读 »
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
1 gzip压缩和解压文件
bash
$ ls
demo
$ gzip demo
$ ls
demo.gz
$ gzip -d demo.gz
$ ls
demo
继续阅读 »
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
1 ps + grep命令
$ sleep 1234 &
[1] 19340
$ sleep 1234 &
[2] 19342
$ sleep 1234 &
[3] 19344
$ alias | grep psg
alias psg='ps -ef | grep --color=auto'
$ ps -ef | grep 1234
root 19340 2159 0 14:22 pts/1 00:00:00 sleep 1234
root 19342 2159 0 14:22 pt
继续阅读 »
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
1 echo替换字符串
```bash
$ s="123abc123abc"
$ echo ${s/123/456}
456abc123abc
$ echo ${s//123/456}
456abc456abc
继续阅读 »
1. test 命令
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。
1.1 数值测试
-eq : equal: 等于
-ne : non-equal: 不等于
-gt : great than: 大于
-ge : great or equal: 大于或等于
-lt : lower than: 小于
-le : lower or equal: 小于或等于
继续阅读 »
安装Redis及启动
安装Redis
shell
apt-get install redis-server
启动服务
shell
/etc/init.d/redis-server start
连接服务
shell
redis-cli
查看redis的密码
shell
config get requirepass
设置redis密码
shell
config set requirepass 12345
进入redis
shell
redis-cli -h 127.0.0.1 -p 6379 -a 12345
php安装redis扩展
继续阅读 »
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
另外,这些建议和技巧都是我工作中用到的,只有我用到了才会记录并分享出来,所以没有什么顺序而言,用到什么我就分享什么。
1 sed替换文件内容
$ cat demo
this is demo
$ sed -i s/demo/test/g demo
$ cat demo
this is test
通过sed,可以很方便替换文件中的某些字符串。比如这里的demo文件只有一行内容:this is demo。通过sed将文件中的demo字符串替换成test。这里的-i选项是直接修改文件内容,字母s表示替换字符,字母g
继续阅读 »
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
1 常用快捷键
Alt+Backspace:删除光标前的一个单词
Alt+F:移动光标到下一个空格处
Alt+B:移动光标到上一个空格后第一个字符处
Ctrl+R:搜索执行过的命令行
Ctrl+U:删除光标之前所有字符
Ctrl+K:删除光标之后的所有字符
Ctrl+A:移动光标到行首
Ctrl+E:移动光标到行尾
继续阅读 »
这是一个系列文章,主要分享shell(部分功能仅适用于bash)的使用建议和技巧,每次分享3点,希望你能有所收获。
1 &&的作用
bash
$ touch test.log
$ cat test.log && echo ok
ok
$ rm test.log
$ cat test.log && echo ok
cat: test.log: No such file or directory
继续阅读 »
算法原理
希尔排序算法是按其设计者希尔(Donald Shell)的名字命名,该算法由1959年公布,是插入排序的一种更高效的改进版本。它的作法不是每次一个元素挨一个元素的比较。而是初期选用大跨步(增量较大)间隔比较,使记录跳跃式接近它的排序位置;然后增量缩小;最后增量为 1 ,这样记录移动次数大大减少,提高了排序效率。希尔排序对增量序列的选择没有严格规定。
希尔排序是基于插入排序的以下两点性质而提出改进方法的:
- 插入排序在对几乎已经排好序的数据操作时, 效率高, 即可以达到线性排序的效率
- 但插入排序一般来说是低效的, 因为插入排序每次只能将数据移动一位
算法思路:
1. 先取一个正整数 d1(d1 < n),把全部记
继续阅读 »