版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Linux下的编程下的编程Linux下的编程下的编程 Linux下的编程下的编程10-1 Linux下的编程Linux的发行版中包含了很多软件开发工的发行版中包含了很多软件开发工具。它们中的很多是用于具。它们中的很多是用于 C 和和 C+应用应用程序开发的,本文介绍了在程序开发的,本文介绍了在 Linux 下能用下能用于于 C 应用程序开发和调试的工具。应用程序开发和调试的工具。 Linux下的进行网页的开发。下的进行网页的开发。 Linux下的下的shell编程。编程。 Linux下的编程下的编程Linux下的下的shell编程编程 1. 编写简单的shell程序,显示当前的日期和时间。2
2、. 通过函数调用的方法上述功能。3. 用循环语句编写1-1000累计求和程序。 Linux下的编程下的编程 什么是Shell shell脚本介绍 shell变量 控制结构语句 Linux下的编程下的编程shell的概念 Shell是核心程序之外的指令解释器,是一个是核心程序之外的指令解释器,是一个程序,同时是一种命令语言和程序设计语言,程序,同时是一种命令语言和程序设计语言,作为作为命令语言命令语言,它可以交互式地解析、执行,它可以交互式地解析、执行用户输入的命令,作为用户输入的命令,作为程序设计语言程序设计语言,它定,它定义了各种变量和参数,并且提供了许多在高义了各种变量和参数,并且提供了许
3、多在高级程序设计语言的程序控制结构。级程序设计语言的程序控制结构。 Linux下的编程下的编程shell的类型的类型 它虽然不是它虽然不是Linux操作系统核心的一部分,操作系统核心的一部分,但它调用系统核心中的大部分功能来执行程但它调用系统核心中的大部分功能来执行程序建立文件,并以并行的方式来协调各个程序建立文件,并以并行的方式来协调各个程序的运行序的运行 。 Shell的类型:的类型:ash、bash、csh、ksh Linux下的编程下的编程 ash :shell 是由Kenneth Almquist编写的, Linux中占用系统资源最少的一个小shell它只包含24个内部命令,因而使用
4、起来很不方便。 bash :bash是Linux系统默认使用的shell,它由Brian Fox和Chet Ramey共同完成,是Bourne Again Shell 的缩写,内部命令一共有40个。Linux默认的shell。 Linux下的编程下的编程 ksh :ksh是Korn shell的缩写,由Eric Gisin编写,共有42条内部命令。该 shell最大的优点是几乎和商业发行版的ksh完全兼容,这样就可以在不用花钱购买商业版本的情况下尝试商业版本的性能了。 csh :csh是Linux比较大的内核,它由以William Joy为代表的共计47位作者编成,共有52个内部命令。该she
5、ll其实是指向/bin/tcsh这样的一个shell,也就是说,csh其实就是tcsh。 Linux下的编程下的编程shell的类型的类型/etc/shells:使用:使用cat /etc/shells可以获得系统可以获得系统中有哪些命令解释器中有哪些命令解释器 Linux下的编程下的编程 echo $SHELL 可获得当前运行的可获得当前运行的shell 所有的程序都在所有的程序都在shell中运行中运行 shell中可以运行子中可以运行子shell (可用如下命令可用如下命令) # /bin/csh # exitshell的类型的类型 Linux下的编程下的编程 Linux下的编程下的编程
6、bash的特性 bash是默认的是默认的Linux shell 特点:特点: 1.利用上下方向键可以快速使用使用过的命令。 2.利用Tab补全命令或者查找有关命令(以指定字符串或者字符开头的命令列表) 3.提供自动帮助,获得帮助信息 # help Linux下的编程下的编程shell脚本介绍本节内容本节内容 : 使用使用shell脚本的原因脚本的原因 shell脚本基本元素。脚本基本元素。 shell脚本运行方式。脚本运行方式。 Linux下的编程下的编程使用shell脚本的原因 shell脚本在处理自动循环或大的任务方面可节省脚本在处理自动循环或大的任务方面可节省大量的时间,且功能强大。大量
7、的时间,且功能强大。 对于不同的对于不同的UNIX和和LINUX,使用一段,使用一段shell脚本将脚本将需要一些小小的改动才能运行通过。需要一些小小的改动才能运行通过。 Linux下的编程下的编程shell脚本基本元素 脚本不是复杂的程序,它是按行解释的。脚本第一脚本不是复杂的程序,它是按行解释的。脚本第一行总是以行总是以 # ! /bin/sh开始,这段脚本通知开始,这段脚本通知shell使用使用系统上的系统上的Bourne shell解释器。解释器。 任何脚本都可能有注释,加注释需要此行的第一个任何脚本都可能有注释,加注释需要此行的第一个字符为字符为 #,解释器对此行不予解释。在第二行注
8、释,解释器对此行不予解释。在第二行注释中写入脚本名是一个好习惯。中写入脚本名是一个好习惯。 脚本从上到下执行,运行脚本前需要增加其执行权脚本从上到下执行,运行脚本前需要增加其执行权限。确保正确建立脚本路径,这样只用文件名就可限。确保正确建立脚本路径,这样只用文件名就可以运行它了。以运行它了。 Linux下的编程下的编程shell脚本运行方式 上述脚本清除上述脚本清除 /var/adm/下信息,并删除下信息,并删除/usr/local/apps/log下所有注册信息。下所有注册信息。1.编辑脚本编辑脚本rootlocalhost root #vi cleanup /启动启动vi编辑器编辑器#!
9、/bin/sh /shell脚本第一行开始脚本第一行开始# name:cleanup / 脚本名称脚本名称# this is a general cleanup script /脚本功能解释脚本功能解释echo “starting cleanup wait” / 脚本内容脚本内容rm /usr/local/apps/log/*.log /删除目录下的日志文件删除目录下的日志文件tail -40 /var/adm/messages/tmp/messages /最后最后40行转移到临时文件行转移到临时文件rm /var/adm/messages / 删除删除/var/adm/messagesmv
10、/tmp/messages /var/adm/messages /临时文件移动临时文件移动/var/adm/messagesecho“finished cleanup” /清理完成清理完成 Linux下的编程下的编程2.使用chmod命令增加脚本执行权限 rootlocalhost root #chmod u+x cleanup 3.运行脚本,只敲入文件名即可。 rootlocalhost root #./cleanup Linux下的编程下的编程shell变量 变量可以定制用户本身的工作环境。使用变变量可以定制用户本身的工作环境。使用变量可以保存有用信息,使系统获知用户相关量可以保存有用信息
11、,使系统获知用户相关设置。变量也用于保存暂时信息。设置。变量也用于保存暂时信息。 Linux下的编程下的编程 本地变量 环境变量 位置变量 特定变量参数 Linux下的编程下的编程本地变量 本地变量在用户现在的shell生命期的脚本中使用。 优点:用户不能对其他的shell或进程设置此变量有效 使用变量时,如果用花括号将之括起来,可以防止shell误解变量值,尽管不必一定要这样做,但这确实可用。 要设置一本地变量,格式为: $ variable-name=value 或 $variable-name=value Linux下的编程下的编程变量设置模式说明变量设置模式说明Variable-nam
12、e=value Variable-name=value设置实际值到variable-nameVariable-name+value 如果设置了variable-name,则重设其值Variable-name:?value 如果未设置variable-name,显示未定义用户错误信息 Variable-name?value 如果未设置variable-name,显示系统错误信息 Variable-name:=value 如果未设置variable-name,设置其值 Variable-name:-value 如果未设置variable-name,设置其值,但值是替换 变量设置时的不同模式 Lin
13、ux下的编程下的编程显示变量显示变量 使用echo命令可以显示单个变量取值,并在变量名前加$,例如: # GREAT_PICTURE=”die hard” #echo $ GREAT_PICTURE die hard Linux下的编程下的编程清除变量清除变量 使用unset命令清除变量。 unset variable-name例如:rootlocalhost root # pc=enterpricerootlocalhost root # echo $pc Enterpricerootlocalhost root #unset pcrootlocalhost root # echo $pcr
14、ootlocalhost root # Linux下的编程下的编程测试变量是否已经设置测试变量是否已经设置 (1)有时要测试是否已设置或初始化变量。如果未设置或初始化,就可以使用另一值。此命令格式为:$ variable:-value 如果设置了变量值,则使用它,如果未设置,则取新值。 #colour=blue #echo “the sky is $colour:-grey today” The sky is blue today Linux下的编程下的编程测试变量是否已经设置测试变量是否已经设置 (2)上面的例子并没有将实际值传给变量,需使用下述上面的例子并没有将实际值传给变量,需使用下述命
15、令完成此功能:命令完成此功能:$ variable:=value p 变量变量colour取值取值blue,echo打印变量打印变量colour时,首时,首先查看其是否已赋值,如果查到,则使用该值。现先查看其是否已赋值,如果查到,则使用该值。现在清除该值,在清除该值, 再来看看结果。再来看看结果。rootlocalhost root #colour=bluerootlocalhost root unset colourrootlocalhost root #echo “the sky is $colour:-grey today”The sky is grey today Linux下的编程下
16、的编程实用的例子 查询工资清单应用的运行时间及清单类型。在运行查询工资清单应用的运行时间及清单类型。在运行时间及类型输入时,敲回车键表明用户并没有设置时间及类型输入时,敲回车键表明用户并没有设置两个变量值,将使用缺省值(两个变量值,将使用缺省值( 03:00和和Weekly),),并传入并传入at命令中以按时启动作业。命令中以按时启动作业。 Linux下的编程下的编程实用的例子 在输入域敲回车键,输出结果如下:在输入域敲回车键,输出结果如下: Linux下的编程下的编程环境变量环境变量 环境变量用于所有用户进程。不像本地变环境变量用于所有用户进程。不像本地变量只用于现在的量只用于现在的shel
17、l,环境变量可用于所,环境变量可用于所有子进程,这包括编辑器、脚本和应用。有子进程,这包括编辑器、脚本和应用。 Linux下的编程下的编程环境变量环境变量 环境变量可以在命令行中设置,但用户注销环境变量可以在命令行中设置,但用户注销时这些值将丢失,因此最好在时这些值将丢失,因此最好在. profile文件中文件中定义。系统管理员可能在定义。系统管理员可能在/etc/profile文件中文件中已经设置了一些环境变量。将之放入已经设置了一些环境变量。将之放入profile文件意味着每次登录时这些值都将被初始化。文件意味着每次登录时这些值都将被初始化。 Linux下的编程下的编程设置环境变量设置环境
18、变量 传统上,所有环境变量均为大写。传统上,所有环境变量均为大写。环境变量应环境变量应用于用户进程前,必须用用于用户进程前,必须用export命令导出。命令导出。 环境变量与本地变量设置方式相同。环境变量与本地变量设置方式相同。 VARIABLE-NAME=value;export VARIABLE-NAME在两个命令之间是一个分号,也可以这样写:在两个命令之间是一个分号,也可以这样写: VARIABLE-NAME=value Export VARIABLE-NAME Linux下的编程下的编程显示环境变量显示环境变量 显示环境变量与显示本地变量一样,例如:显示环境变量与显示本地变量一样,例如
19、: #CONSOLE=tty1 ;export CONSOLE #echo $CONSOLE tty1 Linux下的编程下的编程查看所有的环境变量 使用使用env命令可以查看所有的环境变量命令可以查看所有的环境变量 Linux下的编程下的编程清除环境变量 使用unset命令清除环境变量:rootlocalhost root # unset MYPASSrootlocalhost root # echo $MYPASSrootlocalhost root # Linux下的编程下的编程编写简单的shell程序,显示当前的日期和时间。1.用vi编辑器编辑其文件functest,内容如下:#! /
20、bin/bash /shell编程# functest /文件名Function hello() / 函数实现 Echo”hello,today is data” /显示今天的日期Echo “now going to the function hello” /函数调用之前显示Hello / 函数调用Echo “back from function” /函数调用后显示 Linux下的编程下的编程 Linux下的编程下的编程2.修改文件的权限rootlocalhost root #chmod 755 functest3.执行该脚本,并显示结果rootlocalhost root # ./funct
21、est Now going to the function hello Hello today is 六 8月 13 08:40 41 CST 2009 Back from function rootlocalhost root # Linux下的编程下的编程 Linux下的编程下的编程编写简单的shell程序,通过函数调用的方法显示当前的日期和时间。 1.用vi编辑器编辑文件functest,内容如下:#! /bin/bash /shell编程# functest . hellofun /文件名 Echo “now going to the function hello” Hello / 函
22、数调用 Echo “back from function” Linux下的编程下的编程 2.用vi编辑器编辑文件hellofun,内容如下:#! /bin/bash /shell编程# hellofun Function hello() / 函数实现 Echo”hello,today is date” /显示今天的日期 3.修改文件的权限rootlocalhost root #chmod 755 functest 4.执行该脚本,并显示结果rootlocalhost root # ./functest Now going to the function hello Hello today is
23、 六 8月 13 08:40 41 CST 2009 Back from function Linux下的编程下的编程 Linux下的编程下的编程 Linux下的编程下的编程 Linux下的编程下的编程set命令 在在$HOME.profile文件中设置环境变量时,还有另一种方法文件中设置环境变量时,还有另一种方法导出这些变量。使用导出这些变量。使用set命令命令-a选项,即选项,即set -a指明所有变量指明所有变量直接被导出。不要在直接被导出。不要在/etc/profile中使用这种方法,最好只在中使用这种方法,最好只在自己的自己的$HOME.profile文件中使用。文件中使用。 Lin
24、ux下的编程下的编程 Linux下的编程下的编程 Linux下的编程下的编程 Linux下的编程下的编程 Linux下的编程下的编程位置变量位置变量 如果要向一个如果要向一个shell脚本传递信息,可以使用脚本传递信息,可以使用位置参数完成此功能。参数相关数目传入脚位置参数完成此功能。参数相关数目传入脚本,此数目可以任意多,但只有前本,此数目可以任意多,但只有前 9个可以个可以被访问,使用被访问,使用shift命令可以改变这个限制。命令可以改变这个限制。参数从第一个开始,在第参数从第一个开始,在第 9个结束;每个访个结束;每个访问参数前要加问参数前要加$符号。第一个参数为符号。第一个参数为0,
25、表示,表示预留保存实际脚本名字。无论脚本是否有参预留保存实际脚本名字。无论脚本是否有参数,此值均可用。数,此值均可用。 Linux下的编程下的编程位置变量位置变量 如果向脚本传送如果向脚本传送Did You See The Full Moon信息,下面的表格讲解了如何访问每信息,下面的表格讲解了如何访问每一个参数。一个参数。 Linux下的编程下的编程位置变量实例1)用vi编辑器编辑脚本paramrootlocalhost root #vi param#! /bin/sh#paramEcho “This is the script name :$0”Echo “This is the firs
26、t parameter :$1”Echo “This is the second parameter :$2”Echo “This is the third parameter :$3”Echo “This is the forth parameter :$4”Echo “This is the fifth parameter :$5”Echo “This is the sixth parameter :$6”Echo “This is the seventh parameter :$7”Echo “This is the eight parameter :$8”Echo “This is t
27、he ninth parameter :$9” Linux下的编程下的编程位置变量实例2)执行脚本rootlocalhost root # param Did You See The Full MoonThis is the script name :./paramThis is the first parameter :DidThis is the second parameter :YouThis is the third parameter :SeeThis is the forth parameter :TheThis is the fifth parameter :FullThis
28、is the sixth parameter :MoonThis is the seventh parameter This is the eight parameter This is the ninth parameter Linux下的编程下的编程位置变量的例子 Linux下的编程下的编程向系统命令传递参数向系统命令传递参数 Linux下的编程下的编程特定变量参数特定特定shell变量变量 Linux下的编程下的编程特定变量参数举例 Linux下的编程下的编程结果 Linux下的编程下的编程最后的退出状态最后的退出状态 $?返回返回0。可以在任何命令或脚本中返回此。可以在任何命令或脚本中
29、返回此变量以获得返回信息。基于此信息,可以变量以获得返回信息。基于此信息,可以在脚本中做更进一步的研究,返回在脚本中做更进一步的研究,返回0意味着意味着成功,成功,1为出现错误。为出现错误。p 下面的例子拷贝文件到下面的例子拷贝文件到/tmp,并使用,并使用$?检查结果。检查结果。 Linux下的编程下的编程最后的退出状态最后的退出状态 p 现在尝试将一个文件拷入一个不存在的目录或现在尝试将一个文件拷入一个不存在的目录或文件:文件: Linux下的编程下的编程引号 1.引用的必要性。 2.双引、单引和反引号。 3.使用反斜线实现屏蔽。 Linux下的编程下的编程引用的必要性 脚本中执行行操作时
30、,脚本中执行行操作时,shell将对脚本设置予以解释。要将对脚本设置予以解释。要采取一种方法防止采取一种方法防止 shell这样做,即使用引用号,包括各这样做,即使用引用号,包括各式引用或使用反斜线。式引用或使用反斜线。 Linux下的编程下的编程双引号 使用双引号可引用除字符使用双引号可引用除字符$、外的任意字符或字符串。外的任意字符或字符串。这些特殊字符分别为美元符号,反引号和反斜线,对这些特殊字符分别为美元符号,反引号和反斜线,对shell来说,它们有特殊意义。如果使用双引号将字符串赋给变来说,它们有特殊意义。如果使用双引号将字符串赋给变量并反馈它,实际上与直接反馈变量并无差别量并反馈它
31、,实际上与直接反馈变量并无差别 Linux下的编程下的编程其他符号 单引号:与双引号类似,不同的是忽略任何引用值。单引号:与双引号类似,不同的是忽略任何引用值。换句话说,如果屏蔽了其特殊含义,会将引号里的换句话说,如果屏蔽了其特殊含义,会将引号里的所有字符,包括引号都作为一个字符串。所有字符,包括引号都作为一个字符串。 反引号:用于设置系统命令的输出到变量。反引号:用于设置系统命令的输出到变量。Shell将将反引号中的内容作为一个系统命令,并执行其内容。反引号中的内容作为一个系统命令,并执行其内容。#GIRL=girl#echo “The $GIRL did well ”The girl di
32、d well#echo dateSunday Janu 8 12:40:56 GMT 2007 Linux下的编程下的编程控制结构语句1变量表达式变量表达式2循环语句循环语句3条件语句条件语句 Linux下的编程下的编程变量表达式n在编程中,既然有变量,就有关于变量的在编程中,既然有变量,就有关于变量的表达式表达式比较(比较(test)。)。ntest 的用法:的用法: test 表达式表达式ntest的后面跟的表达式的操作符有字符串操的后面跟的表达式的操作符有字符串操作符、数字操作符和逻辑操作符。作符、数字操作符和逻辑操作符。 例如:判断某个变量是否小于数值例如:判断某个变量是否小于数值10
33、 while test $num -le 10 Linux下的编程下的编程变量表达式1.字符串比较字符串比较 字符串表达式能够测试字符串是否相等,字字符串表达式能够测试字符串是否相等,字符串长度是否为零,或字符串是否为符串长度是否为零,或字符串是否为NULL。字符串字符串说明说明=比较两个字符串是否相同,如果相同,值为比较两个字符串是否相同,如果相同,值为“0”!=比较两个字符串是否相同,如果不相同,值为比较两个字符串是否相同,如果不相同,值为“0”-n比较字符串的长度是否大于零,若大于零,值为比较字符串的长度是否大于零,若大于零,值为“0”-z比较字符串的长度是否等于零,若等于零,值为比较字
34、符串的长度是否等于零,若等于零,值为“0” Linux下的编程下的编程例子rootlocalhost root #vi ifeditor#! /bin/sh#ifeditorIf -z $EDITOR;then /如果EDITOR长度为0,则# the variable has not been set Echo “ your EDITOR environment is not set” / EDITOR编辑器环境未设置Else #lets see what it isEcho using $EDITOR as default editor“” /使用默认的编辑器fi Linux下的编程下的编
35、程变量表达式2. 数字比较数字比较 test 语句和其他编程语言中的比较语句不同,因为它不语句和其他编程语言中的比较语句不同,因为它不使用如使用如,=等符号来表达大于和小于的比较,而是用整数表达式来等符号来表达大于和小于的比较,而是用整数表达式来表示这些。表示这些。比较字符串比较字符串说明说明-eq相等相等-ge大于等于大于等于-le小于等于小于等于-ne不等于不等于-gt大于大于-lt小于小于 Linux下的编程下的编程例子1例如:if的使用演示rootlocalhost root #vi iftest#! /bin/sh#iftest#this is a commemt line,all
36、comment lines start with a #If “10” lt 12ThenEcho “yes,10 is less than 12” /10比12小fi Linux下的编程下的编程例子2如果只传入两个参数,则显示一可用信息,然后脚本退出。如果只传入两个参数,则显示一可用信息,然后脚本退出。这次传入三个参数。这次传入三个参数。 Linux下的编程下的编程变量表达式3. 逻辑操作逻辑操作 逻辑操作是对逻辑值进行的操作,逻辑值只有逻辑操作是对逻辑值进行的操作,逻辑值只有两个:是两个:是 、 否。否。逻辑操作符逻辑操作符说明说明!反反-a与与-o或或 Linux下的编程下的编程变量表达
37、式4. 文件操作文件操作 文件测试表达式通常用来测试文件的信息,文件测试表达式通常用来测试文件的信息,一般由脚本来决定文件是否应该备份、复制或删除。一般由脚本来决定文件是否应该备份、复制或删除。文件测试符文件测试符说明说明-d对象存在且为目录则返回值为对象存在且为目录则返回值为0-f对象存在且为文件则返回值为对象存在且为文件则返回值为0-l对象存在且为符号连接则返回值为对象存在且为符号连接则返回值为0-r对象存在且可读则返回值为对象存在且可读则返回值为0-s对象存在且长度非对象存在且长度非0则返回值为则返回值为0-w对象存在且可写则返回值为对象存在且可写则返回值为0-x对象存在且可执行则返回值
38、为对象存在且可执行则返回值为0file nt(-ot) file2文件文件1比文件比文件2新(旧)新(旧) Linux下的编程下的编程例子rootlocalhost root #vi ifcataudit#! /bin/sh#ifcataudit# locations of the log fileLOCAT_1=/usr/opts/audit/logs/audit.logLOCAT_2=/usr/local/audit/audit.logIf - r $ LOCAT_1;thenecho “using LOCAT_1”cat $LOCAT_1elif- r $ LOCAT_2thenecho
39、 “using LOCAT_2”cat $LOCAT_2elseecho “sorry the audit file is not readable or connot be located,”&2exit 1fi Linux下的编程下的编程循环语句1. for循环循环for的语法的语法for 变量变量 in 列表列表do 操作操作done Linux下的编程下的编程循环语句vi for_rmgz#to delete all file with extension of “gz” in the dustbini=gzfor i in $HOME/dustbin/*.gzdo rm -f $i
40、echo“$i has been deleted”done 执行结果如下:执行结果如下:echoecho bin$.for_rmgz/home/echo/dustbin/file1.gz has been deleted/home/echo/dustbin/file2.gz has been deleted/home/echo/dustbin/file3.gz has been deleted Linux下的编程下的编程循环语句2. while循环循环while用法:用法:while 表达式表达式do操作操作done Linux下的编程下的编程循环语句vi add#to test whileresult=0num=1while test $num -le 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年德阳科贸职业学院单招职业技能考试模拟测试卷带答案解析
- 2025年安徽工业经济职业技术学院单招职业倾向性测试题库附答案解析
- 2025年共青科技职业学院单招职业技能考试模拟测试卷带答案解析
- 航天卫星制造技术前景供需现状调研实施方案执行计划投资建议规划分析报告
- 2025年达孜县招教考试备考题库含答案解析(夺冠)
- 功能性食品原料科学认证与营销话术规范报告
- 中欧商业自由贸易区跨境电商服务产业链优化研究与发展万研施业效率提升方案
- 陕西省公务员考试《行测》题库(研优卷)
- 2026年心理咨询师之心理咨询师基础知识考试题库【b卷】
- 2026年心理咨询师之心理咨询师基础知识考试题库附参考答案【培优a卷】
- 拒绝脏话文明用语(课件)-小学生主题班会
- DBJ51-T 139-2020 四川省玻璃幕墙工程技术标准
- 一带一路教学课件教学讲义
- 中医热敏灸疗法课件
- 工厂虫害控制分析总结报告
- 回顾性中医医术实践资料(医案)表
- 延期交房起诉状
- 广东省消防安全重点单位消防档案
- 高考日语形式名词わけ、べき、はず辨析课件
- 2023学年完整公开课版节气门
- 小学美术《年画》课件
评论
0/150
提交评论