bash 编程
文章平均质量分 69
bash 编程
hjjdebug
西方用26个字母表示世界,计算机用0,1两个数字表示世界,大道至简!
人类用6号元素碳来思考, 计算机用14号元素硅来演算,精妙绝伦!
展开
-
提取“c语言的函数定义“脚本
1. 该行不能包含分号";" 例如: int add(int x, int y); 它只是一个函数声明而不是函数定义 2. 该行必需有"(" 这很明显,没有(肯定不是函数定义行 3. 该行必需有")", 并且)到行尾之间不能有除白空格以外的其它东西 例如: if((ret = open_input(filename)) < 0) 就不是函数定义 4. "(" 前至少有2部分, 返回类型和函数名称 例如: while (a > b) 就不是函数定义原创 2024-08-11 16:39:35 · 295 阅读 · 0 评论 -
扩展addr2line程序的功能,group_add2line() 脚本的实现
1. 提取执行命令对应的pid 信息:2. 提取调用栈地址信息到数组3. 获取 /proc/pid/maps 中有用的信息4. 对每一个地址,执行查询起始地址和模块名称的操作5. 对每一个地址,执行addr2line xxx 命令调用,输出结果.原创 2024-08-05 16:31:25 · 937 阅读 · 0 评论 -
bash 变量加双引号与不加双引号效果大不相同!
temp_var=$(route -n)temp_var 变量加""是这样的, "$temp_var"可认为是原样输出temp_var 变量不加""是这样的, $temp_var可认为是把原输出的空白字符都用空格代替了.原创 2023-03-13 09:57:19 · 316 阅读 · 0 评论 -
dd 实战,将2个文件合并,第一个文件占固定大小.
dd 使用实战:将两个文件合并,第一个文件占用固定的大小8K, 不足的空间补0, 第二个文件从8K 开始copy.cat run.sh#!/bin/bashif [ $# -lt 1 ]then echo "Usage: $0 < dst file >" echo "example: $0 FB0069V03_GD_VER130.bin" exit 1firm $1dd if=./FB0069_bootloader.bin of=$1 bs=8Kdd ...原创 2021-04-01 17:21:41 · 1065 阅读 · 0 评论 -
linux目录跳转利器z脚本阅读理解
前言: z 脚本介绍z 脚本是linux 下目录跳转的利器.它的工作原理是: a. 它维护有一个目录表,包含目录名称,权值和时间 b. 在每一个目录下执行操作,都会改变这个目录的权值和时间,这是靠$PROMPT_COMMAND 实现的 c. 当你要跳转到期望的目录时,你只有敲入简单的几个字符,z 会扩展为正则表达式,从目录表中查到最佳的匹配目录,完成跳转 d. ...原创 2019-06-05 10:07:32 · 469 阅读 · 0 评论 -
我的版本发布控制脚本
#author: hjjdebug#date: 2018年 11月 29日#我的版本发布控制脚本, 用到了bash 及 awk#功能:#第1,获取发布版本主版本号,次版本号,对应的svn版本号及打包的文件名称# 可以检查实际的svn号与发布的期望svn号是否一致# 若版本不一致,给出提示信息,退出, 可防止人为错误#第2, 利用here文档,生成zero.txt, m...原创 2018-11-29 11:59:51 · 892 阅读 · 0 评论 -
shell 变量非空值,空值和不存在的辨别
============================================================Author: hjjdebugDate: 2018年 08月 24日 星期五 20:27:01 CST============================================================这里以ubuntu14 bash 为例,...原创 2018-08-25 08:09:46 · 21914 阅读 · 5 评论 -
shell 编程 帮助功能的实现
一个程序,往往需要帮助说明.激活帮助说明的方法介绍两种1. 最简单的办法是通过参数个数判别.例如不带任何参数就显示帮助说明.2. 正规做法是命令行后跟 -h 参数.shell 帮助的写法可以用一堆echo 指令向控制台输出, 更好的做法是用here doc 语法, 说明文档排版整齐,跟输出一致. 没有一堆echo 及 双引号等.下面给出实例:1. 简单方法#!/bin/bash -...原创 2018-04-15 08:34:20 · 5514 阅读 · 1 评论 -
bash 编程应用及调试
bash 编程的应用到批命令上,是它的主要功能之一, 简化我们日常频繁的击键命令可以自动化命令,最大限度减小击键。 bash 可以直接调用控制台命令除此之外,它也能处理变量,处理文件等. 有了变量才有了编程的概念.********************************************************************************1. 批文...原创 2013-11-14 14:34:31 · 1718 阅读 · 0 评论 -
Bash ${}及其它
bash ${} 属于参数替换一类,用man bash 可以输出完整帮助文档,查找参数替换部分可阅读帮助.一: bash 字符串操作:例: FILE_NAME="/usr/local/world.txt"1. 取字符串长度 ${#FILE_NAME}2. 取子串 ${FILE_NAME:10} #从位置10开始取字串 ${FILE_NAME:5:10}...原创 2013-11-14 14:27:49 · 3698 阅读 · 0 评论 -
bash 编程杂项(函数及其它)
bash 编程可以简化通常的命令行操作。 bash 脚本是命令行程序的粘合剂。 bash 可以完成自动化处理1. bash 可以用反引号执行 shell 命令,并收集标准输出到变量,然后进行处理。2. bash 支持函数操作。 下面是关于函数返回值的知识点。 bash 把函数也当成命令行程序执行, 函数的参数传递与命令行参数传递方式相同 函数的返回值就等同于程序的退出码,所...原创 2016-07-13 15:48:38 · 468 阅读 · 0 评论 -
bash 的if 语句,for 语句
#!/bin/bashif [ -f tar.sh ] echo "tar.sh exist";else echo "tar.sh not exist";fi执行出现错误:./1.sh: line 4: syntax error near unexpected token `else'./1.sh: line 4: `else'原来是缺少了th...原创 2012-03-27 14:19:36 · 4685 阅读 · 1 评论 -
bash 数组操作
bash 仅支持一维数组。为数组赋值:array=(1 4 7 2 5 8) #以空格为分割符,()为数组str="this is test string"str_arr=($str); #默认以空格分割数组遍历:for val in str_arr[*];do echo $val; donefor file in `ls`;do echo $f...原创 2014-06-10 23:02:57 · 4241 阅读 · 0 评论 -
bash 运算表达式求值 test, [],[[]]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%bash 逻辑运算表达式值 test , [], [[]]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%test 与 [] 是等价的, [[]] 是对[] 的功能扩充,但老版本的bash或精简版bash可能不支持。*****************************...原创 2013-12-04 12:55:06 · 1453 阅读 · 1 评论 -
BASH 的基本语法
2 BASH 的基本语法最简单的例子 —— Hello World!关于输入、输出和错误输出BASH 中对变量的规定(与 C 语言的异同)BASH 中的基本流程控制语法函数的使用2.1 最简单的例子 —— Hello World!几乎所有的讲解编程的书给读者的第一个例子都是 Hello World 程序,那么我们今天也就从这个例子出发,来逐步了解 BASH。转载 2012-04-06 10:27:31 · 1162 阅读 · 1 评论 -
bash 下菜单的实现。
在bash 环境下实现了一个根据用户输入,设置不同环境变量的菜单程序。用echo 显示出一个提示菜单。用read 读取用户输入根据用户输入,设置不同的环境变量简单,直接上代码。hjj@hjj-ubuntu:~$ cat menu.sh #!/bin/bashecho please input your selected:echo "1 ---->原创 2012-11-22 09:45:03 · 1632 阅读 · 0 评论