04 2021 档案

摘要:android 为什么为选择Linux 1. 强大的内存管理和进程管理方案2. 基于权限的安全模式3. 支持共享库4. 经过认证的驱动模式5. linux本身就是开源项目android 不是linux1. 它没有本地窗口系统 Linux用的X窗口系统, Mac 上OX X的Quartz Androi 阅读全文
posted @ 2021-04-26 16:54 zhudaheng123 阅读(723) 评论(0) 推荐(0)
摘要:1. BINDER_DEBUG_ENTRY宏的展开 #define BINDER_DEBUG_ENTRY(name) \static int binder_##name##_open(struct inode *inode, struct file *file) \{ \ return single 阅读全文
posted @ 2021-04-22 17:29 zhudaheng123 阅读(185) 评论(0) 推荐(0)
摘要:cat Makefile c_src := $(shell ls *.c)dirs := a b c dfiles := $(foreach dir, $(dirs), $(wildcard $(dir)/*))target:test.c gcc -o hell test.c @echo -e $( 阅读全文
posted @ 2021-04-16 13:29 zhudaheng123 阅读(170) 评论(0) 推荐(0)
摘要:#登录mysql -u root -p123456 #创建数据库create database test;use test; #创建表cat create.sh #!/bin/bashMYSQL=`which mysql`mysql test -u root -p <<EOF #创建newpeopl 阅读全文
posted @ 2021-04-14 15:27 zhudaheng123 阅读(141) 评论(0) 推荐(0)
摘要:Shell系统里面有一个随机变量RANDOM echo $RANDOM19451#!/bin/bash MAX=5 #产生随机数的总量i=1 #计数器,初值是1 echo "$MAX random numbers are generated:"while [ "$i" -le $MAX ]do nu 阅读全文
posted @ 2021-04-14 14:01 zhudaheng123 阅读(1194) 评论(0) 推荐(0)
摘要:脚本:查找文本中n个出现频率最高的单词 MapClearTest.java文件内容 import java.util.HashMap; class MapClearTest { public static void main(String[] args) { HashMap<Integer, Str 阅读全文
posted @ 2021-04-14 13:38 zhudaheng123 阅读(488) 评论(0) 推荐(0)
摘要:cat htmlconver2.sh #!/bin/bash cat << CLOUD<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tran 阅读全文
posted @ 2021-04-14 11:21 zhudaheng123 阅读(162) 评论(0) 推荐(0)
摘要:cat ./htmlconver.sh#!/bin/bash cat << CLOUD<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tran 阅读全文
posted @ 2021-04-14 11:08 zhudaheng123 阅读(563) 评论(0) 推荐(0)
摘要:shell命令中调试的set -x -x选项可以用来跟踪脚本的执行,使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个"+","+"后面显示的是经过了变量替换后的命令行内容,有助于分析实际执行的命令 将-x与trap捕捉DEBUG信号相结合对trapdebug.sh 阅读全文
posted @ 2021-04-13 19:33 zhudaheng123 阅读(979) 评论(0) 推荐(0)
摘要:set有三个选项,可以用于脚本的调试 选项名称 简写 意义noexec n 读取脚本中的命令,进行语法检查,但不执行这些命令xtrace x 在执行每个命令之前,将每个命令打印到标准输出(stdout)无 c... 从...中读取命令 #!/bin/bash set -n #或者 set -o no 阅读全文
posted @ 2021-04-13 19:16 zhudaheng123 阅读(593) 评论(0) 推荐(0)
摘要:调试钩子也称调试块,实际上是一个if/then结构的代码块,DEBUG 变量控制该代码块是否执行,在程序的开发调试阶段,将DEBUG变量设置为TRUE,使其输出调试信息,到了程序交付使用阶段,将DEBUG设置为FALSE,无需一一删除调试钩子代码 cat debugblock.sh #!/bin/b 阅读全文
posted @ 2021-04-13 19:05 zhudaheng123 阅读(362) 评论(0) 推荐(0)
摘要:没有加tee命令调试前cat obtainIP.sh #!/bin/bash #对localIP的赋值是命令替换操作,命令替换操作中管道操作比较复杂localIP=`cat /etc/network/interfaces | grep 'IPADDR' | cut -d= -f2`echo "The 阅读全文
posted @ 2021-04-13 18:49 zhudaheng123 阅读(126) 评论(0) 推荐(0)
摘要:vi traperr.sh #!/bin/bash fun2(){ echo "This is an error function" var=2010 return 1} trap 'echo "Line: $LINENO, var=$var"' ERR #trap命令捕捉ERRfun2 #调用fu 阅读全文
posted @ 2021-04-13 18:40 zhudaheng123 阅读(981) 评论(0) 推荐(0)
摘要:cat trapexit.sh #!/bin/bash fun1(){ echo "This is an correct function" var=2010 return 0} trap 'echo "Line:$LINENO, var=$var"' EXIT #trap命令捕捉EXITfun1 阅读全文
posted @ 2021-04-13 18:35 zhudaheng123 阅读(914) 评论(0) 推荐(0)
摘要:linux 使用trap命令进行调试 Shell脚本在搪行时,会产生三个所谓的伪信号。三种伪信号如下:信号名称 产生条件EXIT 从函数中退出,或者整个脚本执行完毕ERR 当一条命令返回非零状态码,即命令执行不成功DEBUG 脚本中的每一条命令执行之前 vi trapdebug.sh #!/bin/ 阅读全文
posted @ 2021-04-13 18:27 zhudaheng123 阅读(676) 评论(0) 推荐(0)
摘要:安装shcsudo apt install shc shc -v -f color_script.sh shc shll=bashshc [-i]=-cshc [-x]=exec '%s' "$@"shc [-l]=shc opts=shc: cc color_script.sh.x.c -o co 阅读全文
posted @ 2021-04-13 17:44 zhudaheng123 阅读(400) 评论(0) 推荐(0)
摘要:有关颜色的脚本为了体现错误、警告、完成和普通信息的区别,如下脚本#color_script2.sh 参数1为消息内容, 参数2为前景色,参数3为背景色,参数4为特色处理vi color_script2.sh #!/bin/bash #提示用户需要输入的参数内容和个数echo "The argumen 阅读全文
posted @ 2021-04-13 17:30 zhudaheng123 阅读(360) 评论(0) 推荐(0)
摘要:vi color_script.sh #!/bin/bash cfont(){ while(( $# != 0 )) do case $1 in -b) echo -ne "" ;; -t) echo -ne "\t" ;; -n) echo -ne "\n" ;; -black) echo -ne 阅读全文
posted @ 2021-04-13 16:35 zhudaheng123 阅读(120) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-04-13 15:56 zhudaheng123 阅读(83) 评论(0) 推荐(0)
摘要:vi print-ascii.sh #!/bin/bash #设置可输出的ASCII字符的范围(十进制数)start=48end=57 #提示输出的表头echo "Decimal Hex Character"echo " " #该for循环用于输出十进制数48~57对应的十六进制数和ASCII码fo 阅读全文
posted @ 2021-04-13 15:43 zhudaheng123 阅读(103) 评论(0) 推荐(0)
摘要:Shell包装的脚本指的是内嵌系统命令或者工具的脚本,这种脚本保留了传递给命令的一系列参数,因为包装脚本中包含了许多带有参数的命令,使它能够完成特定的目的。 一个包装了sed的脚本#package_sed.sh:该脚本用于将一个文件中的某个字符串替换为另一个字符串#!/bin/bash #提示用户需 阅读全文
posted @ 2021-04-13 15:33 zhudaheng123 阅读(199) 评论(0) 推荐(0)
摘要:vi proc1.sh #!/bin/bash #此脚本期望的参数个数argno=1 if [ $# -ne $argno ]then echo "Usage: 'basename $0' PID-number" >&2fi if [ ! -f "/proc/$1" ]then echo "Proc 阅读全文
posted @ 2021-04-13 14:59 zhudaheng123 阅读(2225) 评论(0) 推荐(0)
摘要:/dev/zero是一种非常有用的伪设备,它可用于创建文件,可以创建RAM文件#dev1.sh脚本通过/dev/zero建立一个交换文件 cat dev1.sh #!/bin/bash #由于root用户的$UID为0, 所以这里设置ROOT_UID ROOT_UID=0 FILE=/swap #设 阅读全文
posted @ 2021-04-13 14:19 zhudaheng123 阅读(1023) 评论(0) 推荐(0)
摘要:#一个未使用shift命令的例子#no_shift.shvi no_shift.sh #!/bin/bash #提示用户输入参数个数echo "number of arguments is $#" #提示用户输入内容echo "What you input is:" #通过命令行传递脚本for循环列 阅读全文
posted @ 2021-04-13 13:52 zhudaheng123 阅读(372) 评论(0) 推荐(0)
摘要:一个有参数但无提示说明的脚本#login1.sh: 用户登录,判断用户输入的用户名和密码是否错误 vi login1.sh #!/bin/bash for ((i=0; i < 3; i++))do read username read password if test "$username" = 阅读全文
posted @ 2021-04-13 13:28 zhudaheng123 阅读(204) 评论(0) 推荐(0)
摘要:一个不灵活的脚本的例子 #!/bin/bash #判断已知目录下的指定文件是否存在 if [ -f /home/wyq/shell/file_can_execute_or_not2.sh ]then echo "Able to find The file /home/wyq/shell/file_c 阅读全文
posted @ 2021-04-13 13:12 zhudaheng123 阅读(82) 评论(0) 推荐(0)
摘要:vi file_can_execute_or_not1.sh #!/bin/bash #判断输入的参数个数是否为两个 if [ $# -lt 2 ]then echo "The num of parameter is not right! " exit 0fi #判断用户输入的第一个文件是否可以读i 阅读全文
posted @ 2021-04-13 11:12 zhudaheng123 阅读(283) 评论(0) 推荐(0)
摘要:交互式脚本 vi ip_login.sh #!/bin/bash #建立由三个元素组成的IP地址数组ipAddrArray=( [0]="192.158.158.128" [1]="192.158.158.129" [2]="192.158.158.130" ) #该函数用户对命令行输入的IP地址进 阅读全文
posted @ 2021-04-12 19:08 zhudaheng123 阅读(634) 评论(0) 推荐(0)
摘要:vi no_interaction_script1.sh #!/bin/bash #提示用户该脚本3秒后退出echo "This script will quit after 3 seconds. " #计时3s sleep 1echo -n "."sleep 1echo -n "."sleep 1 阅读全文
posted @ 2021-04-12 18:43 zhudaheng123 阅读(446) 评论(0) 推荐(0)
摘要:getopts 命令该命令可以编写脚本,使控制多个命令行参数更加容易格式:getopts option_str variable vi getopts_exam1.sh #!/bin/bash #当输入的连字符不为“-a”或者“-b”时执行该函数func(){ echo " `basename $0 阅读全文
posted @ 2021-04-12 18:20 zhudaheng123 阅读(277) 评论(0) 推荐(0)
摘要:1.堆栈./stack.sh STACK yukicaiqing Stack Pointer=49Just popped "" off the stack STACK tangrobinzawusteryukicaiqing Stack Pointer=46Just popped "" off th 阅读全文
posted @ 2021-04-12 17:06 zhudaheng123 阅读(330) 评论(0) 推荐(0)
摘要:vi string_array.sh #!/bin/bash city=(Nanjing Atlanta Massachusetts Marseilles) #建立一个简单的数组echo "Extracting Substring" #演示抽取子串功能echo ${city[*]:0} #抽取整个数 阅读全文
posted @ 2021-04-12 14:56 zhudaheng123 阅读(113) 评论(0) 推荐(0)
摘要:bash shell 只支持一维数组,数组从0开始标号,以array[x]表示数组元素,bash shell 所支持的最大的数组标号是599147937791bash shell 取得数组值的命令格式如下: ${array[x]} vi array_evall.sh #!/bin/bash #下面对 阅读全文
posted @ 2021-04-12 13:56 zhudaheng123 阅读(433) 评论(0) 推荐(0)
摘要:列表由一串命令用与运算&&和或运算||连接而成与命令的基本格式为:命令1 && 命令2 && 命令3 && 命令4 && ... && 命令n 或命令的基本格式为:命令1 || 命令2 || 命令3 || 命令4 || ... || 命令n vi andlist1.sh #!/bin/bash #i 阅读全文
posted @ 2021-04-12 11:08 zhudaheng123 阅读(1136) 评论(0) 推荐(0)
摘要:别名的基本格式: alias alias-name='original-command'fg. alias dir=ls #将dir作为ls命令的别名diranotherres.sh execout.sh hfile part3 sleep10.sh timedread.sha.out FILE1 阅读全文
posted @ 2021-04-12 10:41 zhudaheng123 阅读(404) 评论(0) 推荐(0)
摘要:vi function14.sh #!/bin/bash #初始化移动次数mov=0 dohanoi(){ if [ $1 -eq 0 ] #输入圆盘的个数为0 then echo -n "" #将不会有输出 else dohanoi "$(($1-1))" $2 $4 $3 #把A上的n-1个圆盘 阅读全文
posted @ 2021-04-09 19:22 zhudaheng123 阅读(89) 评论(0) 推荐(0)
摘要:cat function13.sh #!/bin/bash#使用局部变量的递归#使用递归函数实现阶乘运算fact(){ local num=$1 if [ "$num" -eq 0 ] then factorial=1 else let "decnum=num-1" #函数递归调用 fact $de 阅读全文
posted @ 2021-04-09 19:20 zhudaheng123 阅读(182) 评论(0) 推荐(0)
摘要:vi function11.sh #!/bin/bash text="global variable" #函数中使用的局部变量和全局变量的名字相同use_local_var_fun(){ local text="local variable" echo "In function use_local_ 阅读全文
posted @ 2021-04-09 18:37 zhudaheng123 阅读(981) 评论(0) 推荐(0)
摘要:function10.sh用于显示一个不多于5位的正整数的位数,并按顺序显示各个数位的值 cat function10.sh #!/bin/bash #该函数实现显示整数位数count_of_int(){ if [ $1 -gt 9999 ] #当该数的值大于9999时,表示该数为5位数 then 阅读全文
posted @ 2021-04-09 18:28 zhudaheng123 阅读(660) 评论(0) 推荐(0)
摘要:vi function9.sh #!/bin/bash #函数执行显示输入参数的平方square(){ echo "Please input the num:" read num1 let "squ = num1 * num1" echo "Square of $num1 is $squ."} #函 阅读全文
posted @ 2021-04-09 17:50 zhudaheng123 阅读(663) 评论(0) 推荐(0)
摘要:vi function8.sh #!/bin/bash #该函数在一行中显示周一到周日show_week(){ for day in Monday Tuesday Wednesday Thursday Friday Saturday Sunday do echo -n "$day " done} # 阅读全文
posted @ 2021-04-09 17:33 zhudaheng123 阅读(379) 评论(0) 推荐(0)
摘要:返回值0表示无错误,1表示有错误 vi function7.sh #!/bin/bash #使用return语句的函数show_week(){ echo -n "What you input is: " echo "$1" #根据输入的参数值来显示不同的操作 case $1 in 0) echo " 阅读全文
posted @ 2021-04-09 17:18 zhudaheng123 阅读(586) 评论(0) 推荐(0)
摘要:vi function4.sh #!/bin/bash #该函数实现将n的值减半half(){ let "n = $1" #将参数传递给n let "n = n/2" #让n的值 减半 echo "in the function half() n is $n"} #函数调用let "m = $1"e 阅读全文
posted @ 2021-04-09 16:14 zhudaheng123 阅读(3444) 评论(0) 推荐(0)
摘要:1. 简单的hello函数调用cat function1.sh vi function1.sh#!/bin/bash #建立一个简单的函数hellohello(){ echo "Hello everyone!"} #调用hello函数echo "Now going to run function h 阅读全文
posted @ 2021-04-09 14:13 zhudaheng123 阅读(359) 评论(0) 推荐(0)
摘要:trap是Linux的内建命令,它用于捕捉信号,trap命令可以指定收到某种信号时所执行的命令,比如,trap可以指定收到由ctrl+c组合键所触发的INT信号时,执行中断处理命令,trap的格式如下:trap command sig1 sig2... sigN vi traploop.sh#!/b 阅读全文
posted @ 2021-04-06 13:13 zhudaheng123 阅读(1613) 评论(0) 推荐(0)
摘要:Ctrl+C INT信号,即interrupt信号 停止当前运行的作业Ctrl+Z TSTP信号,即terminal stop信号 使当前运行的作业暂时停止(转入阻塞态)Ctrl+\ QUIT信号 Ctrl+C组合键的强化版本,当Ctrl+C组合无法停止作业时, 使用此组合键Ctrl+Y TSTP信 阅读全文
posted @ 2021-04-02 18:08 zhudaheng123 阅读(791) 评论(0) 推荐(0)
摘要:作业控制 内建命令fg可以将后台作业放到前台,&符号使后台作业放到前台运行 cat sleep10.sh #!/bin/bash sleep 10 执行: ./sleep10.sh & #后台执行[1] 44819 #作业号和进程号fg #将[1]号作业放到前台运行./sleep10.sh 当有多个 阅读全文
posted @ 2021-04-02 15:17 zhudaheng123 阅读(241) 评论(0) 推荐(0)
摘要:进程有三种状态:就绪(Ready)状态, 运行(Running)状态, 阻塞(Blocked)状态 三种状态可以相互转化 当用&符号让进程在后台运行时,Shell将显示作业号和进程号,方括号中的[1]和[2]是作业号,方括号后面的4693和4695是进程号。grep -r "root" /etc/* 阅读全文
posted @ 2021-04-02 11:06 zhudaheng123 阅读(261) 评论(0) 推荐(0)
摘要:Shell的限制模式有如下几方面1.用cd命令更改当前工作目录的命令2.更改重要环境变量的值 ,包括$PATH、$SHELL、$BASH_ENV、$ENV和 $SHELLOPTS3.输出重定向符号,包括>、>>、>|、>&、<>和&>符号4.调用含有一个或者多个斜杠(/)的命令名称5.使用内建命令e 阅读全文
posted @ 2021-04-01 19:31 zhudaheng123 阅读(578) 评论(0) 推荐(0)
摘要:圆括号结构可以强制将其中的命令运行在子Shell中 cat subsvar.sh #!/bin/bash echo "The level of father Shell is: $BASH_SUBSHELL" #打印父Shell的层次outervar=OUTER( #进入子shellecho "Th 阅读全文
posted @ 2021-04-01 19:14 zhudaheng123 阅读(298) 评论(0) 推荐(0)
摘要:内置命令冒号的用法冒号可以表示永为真 vi conlon.sh #!/bin/bash i=0while :do if ((i>=10)) then break fi echo $((++i))done ./conlon.sh 12345678910 可以利用冒号清空文件 cat loggg Pos 阅读全文
posted @ 2021-04-01 18:05 zhudaheng123 阅读(442) 评论(0) 推荐(0)
摘要:eval命令:使执行命令跳转的初始步骤 var1=BLACKeval echo $var1BLACKecho $var1 pipe="|"ls $pipe wc -lls: cannot access '|': No such file or directoryls: cannot access ' 阅读全文
posted @ 2021-04-01 16:42 zhudaheng123 阅读(1181) 评论(0) 推荐(0)
摘要:代码块重定向是指对标准输入或者标准输出的重定向只在代码块内有效。可以重定向的代码块可以是while、until、for等循环结构,也可以是if/then测试结构。甚至可以是函数。代码块输入重定向符号是<,输出重定向符号是>. while循环重定向的例子rewhile.sh #!/bin/bash # 阅读全文
posted @ 2021-04-01 14:40 zhudaheng123 阅读(580) 评论(0) 推荐(0)
摘要:下面是一个修改标准输入的例子cat execin.sh #!/bin/bash #FD 8是FD(标准输入)的副本,用于恢复FD 0exec 8<&0 exec < hfile #将标准输入重定向到hfileread a #读取hfile文件的第1行read b #读取hfile文件的第2行 ech 阅读全文
posted @ 2021-04-01 13:27 zhudaheng123 阅读(748) 评论(0) 推荐(0)
摘要:cat和> 符号结合成简易的文档编辑器,当cat命令的输入不加任何参数时,cat命令的输入是标准输入,即键盘输入 cat > newfileProposed by parkalloy #按Ctrl+D 组合键结束文件编辑 cat newfile Proposed by parkalloy cmd1 阅读全文
posted @ 2021-04-01 10:42 zhudaheng123 阅读(254) 评论(0) 推荐(0)