运维技术分享之shell篇解析课件.pptx

上传人(卖家):三亚风情 文档编号:2900208 上传时间:2022-06-09 格式:PPTX 页数:25 大小:320.47KB
下载 相关 举报
运维技术分享之shell篇解析课件.pptx_第1页
第1页 / 共25页
运维技术分享之shell篇解析课件.pptx_第2页
第2页 / 共25页
运维技术分享之shell篇解析课件.pptx_第3页
第3页 / 共25页
运维技术分享之shell篇解析课件.pptx_第4页
第4页 / 共25页
运维技术分享之shell篇解析课件.pptx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、运维技术分享之SHELL篇2016/08/12SHELL种类 (1)/bin/shB-shell由R.Bourne在Bell实验室开发,Unix的标准Shell(2)/bin/cshC-shell由Bill Joy在加州大学开发,提供历史机制和别名替换(3)/bin/bashBourne Again ShellLinux标准Shell,其兼容B-Shell。Shell的选择:Shell一般由管理员在创建用户时,为用户指定;其保存在/etc/passwd文件中;或通过usermod命令进行更改。也可在登录后执行相应的命令切换Shell。BASH的启动与终止启动:启动:BashBash启动时,先运

2、行启动时,先运行/ /etcetc/profile/profile、/etc/bashrc/etc/bashrc,再自动运行用户主目录下,再自动运行用户主目录下的的. .bash_profilebash_profile和和. .bashrcbashrc文件。文件。终止:当用户执行终止:当用户执行exitexit、logoutlogout或按下或按下ctrlctrld d 时,时,BashBash将运行用户主目录下的将运行用户主目录下的. .bash_logoutbash_logout文件中文件中的命令。的命令。输入/输出命令echo-显示命令echo option string将string的

3、内容按照option指定的方法送到屏幕上进行显示-n输出后不换行-e对字符串中的特殊字符进行翻译特殊字符a响铃n换行t跳格位置参数位置参数及引用位置参数也称为命令行参数,即:组成命令行的所有元素。在Shell脚本中通过$0、$1.进行引用位置参数。为位置参数赋值set 参数值列表位置参数移动shift n 将位置参数(除$0)右移n个位置,默认为1。SHELL预定义特殊变量变量名变量名含义含义$?最后一次执行命令的返回码$当前脚本自己的PID$!脚本进程最近启动的后台进程的PID$#命令行参数的个数$0脚本文件本身的名字$1,$2第一、第二个命令行参数“$*”将所有命令行参数作为一个整体单词看

4、待“$”将命令行参数作为多个单词看待IF结构if条件/命令then commandlistelif 条件/命令then commandlistelsecommandlistfi#!/bin/bash#!/bin/bashecho -n enter filename:echo -n enter filename:read read fnamefnameecho enter words:echo enter words:read wordsread wordsecho $words 2/dev/null $echo $words 2/dev/null $fnamefnameif $? if $?

5、eqeq 0 0 then thenecho Write successfullyecho Write successfullyelseelseecho write errorecho write errorfi fiCASE结构case word incase word inpattern1pattern1)command_listcommand_list; ;pattern2pattern2) command_listcommand_list; ; * *) command_listcommand_list; ; esacesac其中:其中:patternpattern可以用竖线分隔多个模

6、式,模式使用可以用竖线分隔多个模式,模式使用shellshell的文件名匹配规的文件名匹配规则。则。WHILE循环while conditionwhile conditiondodocommand_listcommand_listdonedone#!/bin/shcount=3while $count -gt 0 doecho -en Login name:read lognameecho -en Password:read pwd $logname = root -a $pwd = 12345 & echo Welcome Here!count=0let count=count - 1 sl

7、eep 5 doneUNTIL循环until conditiondoCommandListdoneFOR循环格式格式1 1:for for varvar in in word_listword_listdodocommand_listcommand_listdonedonefor for varvar in $1 $2 in $1 $2 dodocommand_listcommand_list donedone从从shellshell的位置变量中取值的位置变量中取值例#!/bin/bashecho -e please enter vars like var1 var2 .necho They

8、are:read varfor i in $vardo echo $idoneFOR循环格式2:for var in Path/*docommand Listdone遍历Path目录中的所有文件及文件夹FOR循环格式3:for (e1;e2;e3)do 命令列表done语法同C中的ForBREAK、CONTINUE、EXITBreak n 退出 n 层循环continue n 跳到第n层循环继续exit n 退出脚本,并设置退出码SELECTselect一般用于设计菜单。select显示一组菜单项、显示一个输入提示并读入用户输入的菜单编号。select var in wordsdo语句done

9、select的提示符由“PS3”决定。select 一般和case配合使用函数格式:function_name() command_list return n其中return用于带回函数的返回码(0255)注意:函数必须先定义后使用函数在当前环境下运行,和调用它的脚本共享变量;而且可以通过把变量作为定位参数来赋值的方式传递变量。SHELL 内置命令eval命令分析eval 命令字符串功能:首先对“命令字符串”进行shell替换,然后执行该命令。例:for(i=1;i=$#;i+)doeval echo $i. $idone内置命令 DECLARE内置命令 declare 可用来创建变量。dec

10、lare 选项 variable=valueSHIFT命令一般用于函数或者脚本程序参数处理,特别是参数多于10以上的时候将所有参数变量向下移动一个位置,$2变成$1,$3变成$2,依次递进,但$0保持不变例如:while “$1 != ” ;do echo $1 shiftdoneTRAP命令command一般情况下是Linux命令 表示发生陷阱时为空指令,不做任何动作-表示发生陷阱时采用缺省指令常见信号SHELL内置命令总结内置命令内置命令命令说明命令说明echo输出一行文本到标准输出设备read从标准输入设备读入数据printf格式化输出declare定义或创建变量或数组let让未定义的变

11、量参与算术运算expr执行表达式shift把所有参数变量向下移动一个位置eval执行命令trap用来定义接收OS信号后而采取的动作exit退出SHELL程序sleep休眠test条件测试网络编程/dev/tcp & /dev/udp:这两个神奇的目录为bash编程提供了一种可以进行网络编程的功能。在bash程序中使用/dev/tcp/ip/port的方式就可以创建一个scoket作为客户端去连接服务端的ip:port。我们用一个检查http协议的80端口是否打开的例子来说明它的使用curl和wget命令#!/bin/bashipaddr=127.0.0.1port=80if ! exec 5 /dev/tcp/$ipaddr/$portthenexit 1fiecho -e GET / HTTP/1.0n &5cat &5脚本调试sh x 脚本名该选项可以使用户跟踪脚本的执行,此时 shell 对脚本中每条命令的处理过程为:先执行替换,然后显示,再执行它。shell 显示脚本中的行时,会在行首添加一个加号 “ + ”。sh v 脚本名在执行脚本之前,按输入的原样打印脚本中的各行。sh n 脚本名对脚本进行语法检查,但不执行脚本。如果存在语法错误,shell 会报错,如果没有错误,则不显示任何内容。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(运维技术分享之shell篇解析课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|