摘要:创建补丁文件 diff -urN <原始项目的目录> <修改后项目的目录> > xxxx.patch 当使用上面方法创建补丁文件时,使用补丁文件 cd <原始项目目录> patch -p1 < ../xxx.patch
阅读全文
摘要:0. 命令 jq [option] filter [files] jq+可选参数+过滤条件+文件位置 过滤参数: . :格式化json内容 .foo :输出指定属性,使用.嵌套访问字段 .[下标] :输出指定数组元素 .[] :输出指定数组中全部元素 , :多个属性过滤时,使用逗号分隔 | :管道过
阅读全文
摘要:1. sed 的工作流程 读取一行,使用 定义的规则 处理,再读下一行。 规则定义格式 /pattern/action pattern是正则表达式,两个反斜线表示表达式的开始和结尾。 只有缓存行匹配pattern,才使用action对其进行处理。 action包括 p 打印行 d 删除行 s 替换
阅读全文
摘要:1. 高级变量替换 2. getopts getopts 是bash 内建命令,语法为 getopts optstring name [args] #!/bin/bash function help() { echo "Usge getopts.sh [opts]" echo "options:"
阅读全文
摘要:1. 基本调试方法 set -v : 显示已经运行的脚本 set -x : 显示debug set -e : 报错则退出 2. 封装调试函数 将 vxe 封装成函数,可以 一键开关 调试信息 #!/bin/bash DEBUG=true function debug() { if [ "$DEBUG
阅读全文
摘要:1. 注册信号处理 #!/bin/bash function CleanUp() { echo "clean up" } trap CleanUp 2 sleep 10 echo "exit" 2. 定时器 #!/bin/bash function StartTimer() { # 如果没有指定,默
阅读全文
摘要:1. 函数返回值 #!/bin/bash function func1() { echo "I will return 0" } function func2() { echo "I will return 1" # 默认返回最近命令的 返回值 find ./ -name &>/dev/null }
阅读全文
摘要:1. for #!/bin/bash for file in $(ls *) do echo $file done for ((p = 0; p < 10; p++)) do echo $p done 2. select select dir in /bin /usr/sbin quit do if
阅读全文
摘要:1. 数组变量 #!/bin/bash # bash版本大于2.0才能使用数组 echo $BASH_VERSION # 把系统中注册的每一个用户名保存到数组变量中, # 然后遍历整个数组,打印系统所有用户 # 未被赋值的元素为空 i=3 for name in $(awk -F: '{print
阅读全文
摘要:1. 统计文件每个单词数量 #!/bin/bash function count() { if [ $# != 1 ] then echo "Need one file parameter to work!" exit 1; fi # 删除标点符号和特殊字符 tr -d '[:punct:]' <
阅读全文
摘要:1. 前台进程后台进程 前台进程:运行期间独占终端。 1.1 如何避免长耗时进程占用终端? 如 编译 kernel 时,将 make 放到后台,并重定向 标准输出 标准错误 [root@ifw8 polarssl-1.2.17]# make 1>output.txt 2>&1 & [1] 4167
阅读全文
摘要:1. 标准输出 ls -l > ./test ls -l 1> ./test ls -l >> ./test 2. 标准输入 read oneline while [ "oneline" != "" ] do read oneline done read命令:读取一行 ./test.sh < 1.t
阅读全文
摘要:规则 变量 函数 条件执行 文件,文件名处理函数 文件包含 注释 解析阶段: 解析makefile,建立依赖关系树 控制解析过程:引入makefile,变量展开,条件执行 生成关系树 编译阶段:根据依赖关系树和时间戳编译 载入关系树 根据关系树和时间戳,执行操作 规则 作用: 目的:生成依赖关系树
阅读全文
摘要:sed可以对文本进行增删改查 格式 sed <option> [script] file1 file2.... script有两点重要: (1)确定行 (2)确定动作 行可以这样确定: sed '1,2a addadd' file sed '3d' file sed '/asm/d' file se
阅读全文
摘要:1.awk语法格式 awk [options] 'commands' filename awk [options] -f awk-script-file filenames BEGIN行处理前动作 {}行处理 END行处理后动作 BEGIN{print 1/2} {print "ok"} END{p
阅读全文
摘要:1. 备份并压缩 /etc 下所有内容到 /root/bak,存放形式为 2020_2_15_etc.tar.bz2。 #!/bin/bash DestDir=/root/bak DateName=$(date +%Y_%m_%d) [ "$UID" -ne 0 ] && echo "You nee
阅读全文