
shell脚本
lanhuazui10
这个作者很懒,什么都没留下…
展开
-
linux静态库与动态库创建与使用
1.脚本中静态库与动态库的链接命令:在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库。使用方式为:gcc test.cpp -L. -ltestlib如果当前目录有两个库libtestlib.solibtestlib.a 则肯定是连接libtestlib.so。如果要指定为连接静态库则使用:gcc test.cpp-L. -static-ltestlib当对动态库与静态库混合连接的时候,使用-static会导致所有的库都使用...转载 2021-06-12 16:27:05 · 331 阅读 · 0 评论 -
调试查询命令
最近这段时间由于海思芯片被禁,导致公司的设备各种芯片和外设都在物料替换,不仅仅底层需要重新设计,上层也要跟着重新实现,这里记录下与内核联调中经常使用的命令可能哪天就换了工作了,毕竟公司各不相同,还是调试的手段是大同小异的,可能具体命令上是有细微差别的查看驱动加载:lsmod查看系统中断次数,硬件操作一下,中断次数就会累加一次,不然的话就是底层有问题:cat /proc/interrupts查看各个进程的fd结点,可以使用ls -l,可以查看文件的具体格式:ls -l /pr...原创 2021-05-30 21:53:50 · 153 阅读 · 0 评论 -
怎么放开工程代码中的弱函数宏
工程代码中某个功能是由事件宏控制的,经常会碰到某个功能调用到弱函数中,怎么放开弱函数中的宏呢?1.进入/modules下面的事件makefile中,找到对应的静态库文件TARGBIN:=$(LIB_DIR)/xxx.a2.进入/app/src下面的makefile,搜-lxxx3.进入makecfg目录下找到对应的rules脚本,查看事件宏是否放开另外还需要到libs下查看xxx.a静态库文件是否存在,makefile中每个库链接-lxxx都对应libs目录下的一个静态库文件...原创 2021-03-08 00:07:59 · 161 阅读 · 0 评论 -
执行Shell脚本几种方式总结
运行 Shell 脚本有两种方法,一种在新进程中运行,一种是在当前 Shell 进程中运行。在新进程中运行 Shell 脚本在新进程中运行 Shell 脚本有多种方法。1) 将 Shell 脚本作为程序运行Shell 脚本也是一种解释执行的程序,可以在终端直接调用(需要使用 chmod 命令给 Shell 脚本加上执行权限),如下所示:[mozhiyan@localhost ~]$ cd demo #切换到 test.sh 所在的目录[mozhiyan转载 2020-12-26 23:24:31 · 604 阅读 · 0 评论 -
Shell配置文件(配置脚本)的加载及用户修改配置文件
无论是否是交互式,是否是登录式,Bash Shell 在启动时总要配置其运行环境,例如初始化环境变量、设置命令提示符、指定系统命令路径等。这个过程是通过加载一系列配置文件完成的,这些配置文件其实就是 Shell 脚本文件。与 Bash Shell 有关的配置文件主要有/etc/profile、~/.bash_profile、~/.bash_login、~/.profile、~/.bashrc、/etc/bashrc、/etc/profile.d/*.sh,不同的启动方式会加载不同的配置文件。~表示用.转载 2020-12-26 23:10:20 · 4680 阅读 · 0 评论 -
shell内置命令查询
所谓 Shell 内建命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件。例如,用于进入或者切换目录的 cd 命令,虽然我们一直在使用它,但如果不加以注意很难意识到它与普通命令的性质是不一样的:该命令并不是某个外部文件,只要在 Shell 中你就一定可以运行这个命令。可以使用 type 来确定一个命令是否是内建命令:[root@localhost ~]# type cdcd is a Shell builtin[root@localhost ~]# type ifconf转载 2020-12-26 22:55:15 · 507 阅读 · 0 评论 -
linux shell pushd popd dirs命令
1、dirs1)功能显示当前目录栈中的所有记录(不带参数的dirs命令显示当前目录栈中的记录)2)语法(1)格式:dirs [-clpv] [+n] [-n](2)选项-c 删除目录栈中的所有记录-l 以完整格式显示-p 一个目录一行的方式显示-v 每行一个目录来显示目录栈的内容,每个目录前加上的编号+N 显示从左到右的第n个目录,数字从0开始-N 显示从右到左的第n个日录,数字从0开始注意:dirs始终显示当然目录, 再是堆栈中的内容;即使目录...转载 2020-12-26 22:35:43 · 269 阅读 · 0 评论 -
shell中$[]、(())、[[]]及expr表达式
Shell expr命令:对整数进行运算Shell expr 对于整数计算的用法:expr 表达式expr 对表达式的格式有几点特殊的要求:出现在表达式中的运算符、数字、变量和小括号的左右两边至少要有一个空格,否则会报错。 有些特殊符号必须用反斜杠\进行转义(屏蔽其特殊含义),比如乘号*和小括号(),如果不用\转义,那么 Shell 会把它们误解为正则表达式中的符号(*对应通配符,()对应分组)。 使用变量时要加$前缀。【实例1】expr 整数计算简单举例:[c.bianch转载 2020-12-26 22:16:21 · 2472 阅读 · 2 评论 -
shell中test命令用法详解
1) 与文件检测相关的 test 选项表1:test 文件检测相关选项列表 文件类型判断 选 项 作 用 -b filename 判断文件是否存在,并且是否为块设备文件。 -c filename 判断文件是否存在,并且是否为字符设备文件。 -d filename 判断文件是否存在,并且是否为目录文件。 -e filename 判断文件是否存在。 -f filename 判断文件是否存在,井且是否为普通文件。 -L filename转载 2020-12-26 21:51:33 · 4825 阅读 · 0 评论 -
Shell特殊变量
总览$0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,$0专指执行的脚本文件名,$1表示第一个参数,$2表示第二个参数。 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到 $? 上个命令的退出状态,或函数的返回值 $- 显示Shell使用的当前选项,参看set命令 $$ 当前.转载 2020-12-26 21:41:43 · 114 阅读 · 0 评论 -
shell编程中break、continue、exit、return的用法及区别
首先看个例子:for((i=1;i<5;i++ ))doif[ $i -eq 3 ]then# break# continue# exitfiecho $idoneecho OK输出的结果break的结果12OKcontinue的结果124OKexit的结果12上面的脚本可以看出:break 表示跳出整个循环,还会继续执行循环后面的内容。continue...原创 2020-12-26 21:22:09 · 4975 阅读 · 0 评论 -
shell函数定义、函数调用及函数返回值用法
1、函数定义linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。Shell 函数定义的语法格式如下:[function] funname [()]{ 函数体 [return int;]}格式1:简化写法,不写 function 关键字:函数名(){函数体}格式2:这是标准写法,也推荐大家使用的写法:function函数名(){命令序列}这样方便做到一看就懂。格式3:如果写了 funct...转载 2020-12-26 21:04:09 · 16751 阅读 · 0 评论 -
Shell变量定义及作用域
定义变量Shell 支持以下三种定义变量的方式:变量名=变量值变量名=’value’ 通过单引号定义变量;输出变量内容时单引号里面是什么就输出什么,即使内容中有变量和命令也会将它们原样输出。 变量名=”value” 通过双引号定义变量,输出变量时引号里的变量及命令(要反引下)会经过解析后才输出该变量的内容,而不是将引号中的变量或命令原样输出。注意,赋值号的周围不能有空格,这可能和你熟悉的大部分编程语言都不一样。variable 是变量名,value 是赋给变量的值。如果 v...转载 2020-12-26 20:39:56 · 1645 阅读 · 0 评论