unix shell 编程基础培训(基础篇)

unix shell 编程基础培训(基础篇)

ID:34132693

大小:819.05 KB

页数:147页

时间:2019-03-03

unix shell 编程基础培训(基础篇)_第1页
unix shell 编程基础培训(基础篇)_第2页
unix shell 编程基础培训(基础篇)_第3页
unix shell 编程基础培训(基础篇)_第4页
unix shell 编程基础培训(基础篇)_第5页
资源描述:

《unix shell 编程基础培训(基础篇)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、UnixShell编程基础篇北京神州数码思特奇信息技术股份有限公司研究院www.si-tech.com.cn课程目标•熟练编写UnixShell程序内容提纲1.Shell介绍2.Shell脚本介绍3.Shell特性4.正则表达式5.变量与运算符6.Shell的输入与输出7.Shell函数8.脚本调试9.高级编程技巧10.Shell工具SHELL介绍Shell-UNIX命令解释器问题引入:DOS系统的命令由command负责执行,并且对重覆性或多个命令运行可写成批处理文件,只要执行这个批处理文件就等於执行这些命令。UNIX系统如何处理?Shell:shell是一种命令语言,同时又是一种程序设

2、计语言。UNIX系统利用shell命令解释器(command-languageinterpreter),完成用户输入命令的执行,是用户与系统交互的界面,是命令与kernel之间的接口。shell接收用户输入的命令,对命令作出解释,然后发送给kernel执行之。shell是一个解释型的程序设计语言。shell程序(脚本)相当于dos的批处理文件,可简单到只有一条命令,也可以包括循环、条件语句、数学运算、控制结构的程序,完成复杂的管理任务。Shell-UNIX命令解释器SHELL脚本介绍Shell脚本介绍•为什么使用Shell脚本?–批量命令–重复、条件等控制•Shell脚本的基本内容#!/b

3、in/sh第一行注释:#第二行变量第三行条件判断、循环第四行•脚本的运行方式–chmod?+x脚本–./脚本文件名Shell脚本介绍•示例:hello.sh#!/bin/bash#这是一个基本的shell脚本op="helloworld"echo$opSHELL特性Shell特性•别名•命令替换•管道•重定向•后台处理•模式匹配•变量•特殊字符别名•aliasEg:aliasll=`ls-alh`命令替换•myfile的内容如下:–marm–findfile实现替换如下:ls`catmyfile`-al命令替换示例:$MYDIR=`dirname/usr/local/share/doc/f

4、oo/foo.txt`$echo$MYDIR/usr/local/share/doc/foo上面所做的称为“命令替换”。此例中有几点需要指出。在第一行,简单地将要执行的命令以反引号括起。那不是标准的单引号,而是键盘中通常位于Tab键之上的单引号。可以用bash备用命令替换语法来做同样的事:$MYDIR=$(dirname/usr/local/share/doc/foo/foo.txt)$echo$MYDIR/usr/local/share/doc/foo如您所见,bash提供多种方法来执行完全一样的操作。使用命令替换可以将任何命令或命令管道放在``或$()之间,并将其分配给环境变量。真方便

5、!下面是一个例子,演示如何在命令替换中使用管道:MYFILES=$(ls/etc

6、greppa)bash-2.03$echo$MYFILESpam.dpasswd后台处理•什么是后台?•一个终端可以同时运行多个程序•用法:–nohupcommand&可以再后台运行此命令示例:nohubtar-czf要压缩的文件名压缩后的文件名&查看后台命令使用:jobs–l变量•示例:#!/bin/bash#这是一个基本的shell脚本printchar=“helloworld”echo$printchar•变量用来存储信息管道(

7、)•把一个命令的输出连接到另一个命令的输入。•示例:–ls

8、sort–ca

9、tfunc.txt

10、grep-v^#重定向(<>)•与管道相关,可以改变程序运行的输入来源和输出地点•示例:–sortmyfile_test.txt模式匹配•显示以txt为扩展名的文件或显示以a开头的文件,这种情况称为模式匹配。•实现方式:正则表达式如:ls*.txt特殊字符•分号(;):允许在一行上放多个命令。–eg:cd~/backup;mkdirstartup;cp~/.*startup/.•&:命令后执行。•括号():创建成组的命令。•竖杆(

11、):管道标示符。•<>&:表示重定向。•*?[]!:表示模式匹配

12、。•$:变量名的开头。•#:表示注释(第一行除外)。•空格,制表符,换行符:当做空白。•$((...)):对括号内的表达式求值–eg:#!/bin/shx=0while["$x"-ne10];doecho$xx=$(($x+1))doneexit0特殊字符•**:两个星号在运算时代表"次方"的意思–eg:"sus=2**3"–echo"sus=$sus"–$sus=8•{}大括号:–用法一:通配符扩展–eg:lsmy_{

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。