摘要: F_SETFL file set flag F_SETFL命令允许更改的标志有O_APPEND,O_NONBLOCK,O_NOATIME,O_DIRECT,O_ASYNC 这个操作修改文件状态标记适用于以下场景: 文件描述符不是通过open()系统调用获得的。比如pipe()返回两个文件描述符代表管 阅读全文
posted @ 2019-01-10 15:36 MoonXu 阅读(2039) 评论(0) 推荐(0) 编辑
摘要: F_GETFL 我的理解是file get flag #include <stdio.h>#include <fcntl.h>#include <unistd.h> int main(){ int flag; int fd = open("2.txt",O_RDWR); if(-1 == fd) p 阅读全文
posted @ 2019-01-10 15:18 MoonXu 阅读(2066) 评论(0) 推荐(1) 编辑
摘要: 1)如果在开发过程中,遇到大段的代码需要临时注释起来,过一会儿又取消注释,怎么办呢? 每一行加个#符号太费力了,可以把这一段要注释的代码用一对花括号括起来,定义成一个函数, 没有地方调用这个函数,这块代码就不会执行,达到了和注释一样的效果。 2)注释 :<<EOF 代码//这部分被注掉 EOF 或者 阅读全文
posted @ 2019-01-10 14:52 MoonXu 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1)bash支持一维数组(不支持多维数组),并且没有限定数组的大小。 类似于 C 语言,数组元素的下标由 0 开始编号。获取数组中的元素要 利用下标,下标可以是整数或算术表达式,其值应大于或等于 0。 str=("hello" "world")//注意不用逗号,任意两元素之间用空格隔开 echo $ 阅读全文
posted @ 2019-01-10 14:44 MoonXu 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 1)获取字符串长度: str="jwwjww" #str=‘jwwjww’//单引号双引号都一样 echo ${#str} 结果:6 2)提取子字符串 echo ${#str:1:4}//注意下表是从0开始 wwjw 3)查找子字符串 echo `expr index "$str" wj` wj表示 阅读全文
posted @ 2019-01-10 14:34 MoonXu 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 1)unset 命令可以删除变量。readonly变量不能删除 2)变量类型 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。 2) 环境变量 所有的程序,包括shell启动的程序,都能访问环 阅读全文
posted @ 2019-01-10 14:13 MoonXu 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 除了显式地直接赋值,还可以用语句给变量赋值,如 #!/bin/bash readonly myUrl="www.google.com"#myUrl="www.baidu.com"echo $myUrl 阅读全文
posted @ 2019-01-10 13:57 MoonXu 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 3中方式 1)./1.sh 权限拒绝 2)bash 1.sh产生是个子shell / sh 1.sh 3). 1.sh whereis firefox vi 2.sh #!/bin/bash /usr/bin/firefox 执行 . 2.sh firefox被打开 阅读全文
posted @ 2019-01-10 13:36 MoonXu 阅读(111) 评论(0) 推荐(0) 编辑