您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > 第四章(1) Linux shell脚本变量的使用
第4章Linuxshell程序设计本章内容提要•shell概述•shell脚本的编写与执行•Shell变量•shell特殊字符和命令语法•程序控制结构•shell函数和内置命令•shell脚本调试shell概述1.交互式shell2.Shell脚本•与命令行一样的语法编写成的简短程序•含有命令列表的纯文本文件•使用户可以通过合并一系列命令来自动执行某些操作•以非交互式的方式运行•类似DOC年代的批处理文件.bat•不需要编译即可执行(解释器为bashshell)shell概述3.Shell脚本的用途•自动化管理:查询登录文件、追踪流量、监控用户、主机各设备状态等•简单的入侵检测:分析系统登录文件、加强防火墙的设置•连续命令单一化:防火墙连续规则、启动加载程序•简单的数据处理:比较数据文件处理大任务的数学操作,有跨平台移植需求,需要数据结构的支持,需要产生或操作图形化界面,需要I/O或Socket接口等情况要选择更强大的语言,比如Perl,Tcl,Python,或者C++,java。shell脚本的编写与执行1.建立shell脚本•建立shell脚本的步骤同建立普通文本文件的方式相同,如:$vish01.shshell脚本的编写与执行2.执行shell脚本的方式执行shell脚本的常用方式基本上有两种:(1)以脚本名作为参数。其一般形式是:$bash脚本名[参数]或sh脚本名[参数](2)将shell脚本的权限设置为可执行,然后在提示符下直接执行它。$chmodu+xex2$PATH=$PATH:•$cauc或者$•/cauc编写shell脚本的良好习惯•脚本的功能•脚本的版本信息•脚本的作者与联系方式•脚本的版权声明方式•脚本的历史记录•脚本内较特殊的命令,使用绝对路径的方式来执行•预先声明与设置脚本运行时需要的环境变量编写脚本使用变量的示例Bash变量1.Shell变量类型•局部变量:只存在于创建它的shell中•环境变量:由子shell继承2.Shell变量使用•用$字符来解析变量,例如:echo$A•变量赋值:A=apple•变量命名:由字母数字字符和下划线组成的任意字符串,但是不能以数字开头,区分大小写。一般为大写•取消变量:unsetABash变量3.环境变量•无论何时一个进程启动另一个进程时,子进程都会继承环境变量;•环境变量的创建:创建一个shell变量,然后用export将其转化为环境变量。Bash局部变量实例Bash局部变量实例实例说明•Bashshell解析的变量名为A_ode,由于没有事先赋值,所以为空值。•创建了隐藏文件.txt•解决方案:用大括号将变量名标出echo“Oh,Ilikethemsquishy”${A}_ode.txtBash环境变量实例Bash环境变量实例Bash变量4.列出变量•set命令:没有参数,列出shell变量和与shell有关的环境变量;•env命令:没有参数,列出已经被导出成为环境变量的变量。5.预先定义的特殊变量•set命令:没有参数,列出shell变量和与shell有关的环境变量;•env命令:没有参数,列出已经被导出成为环境变量的变量。Bash变量5.预先定义的特殊变量⑴$#——除脚本名外,命令行上参数的个数。⑵$?——上一条前台命令执行后的返回值(也称“退出码”等)。⑶$$——当前进程的进程号。⑷$!——上一个后台命令对应的进程号。⑸$*——表示在命令行上实际给出的所有实参。如输入下面的命令行:•exam3ABCDEFGHIJK•则$*就是:ABCDEFGHIJK•而“$*”就等价于:$1$2$3……,即:ABCDEFGHIJK。⑹$@——它与$*基本功能相同。但“$@”与“$*”不同。“$@”就等价于:$1$2……,在上面情况下,就是ABC……K。Bash变量6.常用环境变量(1)HOME:用户主目录的全路径名。如/home/myname(2)LOGNAME:即用户注册名(3)PWD:当前工作目录的路径。(4)PATH:shell查找命令的路径(目录)列表,各个目录用冒号(:)隔开。•用户可以设置它:$PATH=$PATH:$PWD(5)PS1:shell的主提示符。$PS1=$LOGNAME(6)SHELL:当前使用的shell。通常,它的值是/bin/bash。(7)TERM:终端类型。(8)MAIL:系统信箱的路径。使用变量示例•使用变量来引用常用字(eg:URL)用户Prince喜欢与开源软件的现行版本同步,他经常用links这个字符界面的网页浏览器来浏览。为了避免反复输入这么长的URL,他该怎么做?数值运算示例数值运算示例
本文标题:第四章(1) Linux shell脚本变量的使用
链接地址:https://www.777doc.com/doc-4237368 .html