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

上传人:91274****mpsvz 文档编号:241554577 上传时间:2024-07-04 格式:PPTX 页数:25 大小:319.89KB
返回 下载 相关 举报
运维技术分享之shell篇解析课件_第1页
第1页 / 共25页
运维技术分享之shell篇解析课件_第2页
第2页 / 共25页
运维技术分享之shell篇解析课件_第3页
第3页 / 共25页
点击查看更多>>
资源描述
运维技术分享之SHELL篇2016/08/12运维技术分享之shell篇2016/08/121SHELL种类 (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。Shell种类 (1)/bin/shB-shell2BASH的启动与终止启启动:Bash启启动时,先运行,先运行/etc/profile、/etc/bashrc/etc/bashrc,再自,再自动运行用运行用户主目主目录下的下的.bash_profile和和.bashrc文件。文件。终止:当用止:当用户执行行exit、logout或按下或按下ctrld 时,Bash将运行用将运行用户主目主目录下的下的.bash_logout文件文件中的命令。中的命令。Bash的启动与终止启动:Bash启动时,先运行/etc/p3输入/输出命令echo-显示命令echo option string将string的内容按照option指定的方法送到屏幕上进行显示-n输出后不换行-e对字符串中的特殊字符进行翻译特殊字符a响铃n换行t跳格输入/输出命令echo-显示命令4位置参数位置参数及引用位置参数也称为命令行参数,即:组成命令行的所有元素。在Shell脚本中通过$0、$1.进行引用位置参数。为位置参数赋值set 参数值列表位置参数移动shift n 将位置参数(除$0)右移n个位置,默认为1。位置参数位置参数及引用5SHELL预定义特殊变量变量名量名含含义$?最后一次执行命令的返回码$当前脚本自己的PID$!脚本进程最近启动的后台进程的PID$#命令行参数的个数$0脚本文件本身的名字$1,$2第一、第二个命令行参数“$*”将所有命令行参数作为一个整体单词看待“$”将命令行参数作为多个单词看待Shell预定义特殊变量变量名含义$?最后一次执行命令的返回6IF结构if条件/命令then commandlistelif 条件/命令then commandlistelsecommandlistfi#!/bin/bashecho-n enter filename:read fnameecho enter words:read wordsecho$words 2/dev/null$fnameif$?eq 0 thenecho Write successfullyelseecho write errorfiif结构if条件/命令#!/bin/bash7CASE结构case word inpattern1)command_list;pattern2)command_list;*)command_list;esac其中:其中:pattern可以用竖线分隔多个模式,模式使用可以用竖线分隔多个模式,模式使用shell的文件名匹配规的文件名匹配规则。则。case结构 case word in8WHILE循环while conditiondocommand_listdone#!/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 sleep 5 donewhile循环#!/bin/sh9UNTIL循环until conditiondoCommandListdoneUntil循环until conditiondoCo10FOR循环格式格式1:for var in word_listdocommand_listdonefor var in$1$2 docommand_list done从从shell的位置变量中取值的位置变量中取值例#!/bin/bashecho -e please enter vars like var1 var2 .necho They are:read varfor i in$vardo echo$idonefor循环格式1:例11FOR循环格式2:for var in Path/*docommand Listdone遍历Path目录中的所有文件及文件夹for循环格式2:12FOR循环格式3:for(e1;e2;e3)do 命令列表done语法同C中的Forfor循环格式3:for(e1;e2;e3)do13BREAK、CONTINUE、EXITBreak n 退出 n 层循环continue n 跳到第n层循环继续exit n 退出脚本,并设置退出码Break、Continue、Exit14SELECTselect一般用于设计菜单。select显示一组菜单项、显示一个输入提示并读入用户输入的菜单编号。select var in wordsdo语句doneselect的提示符由“PS3”决定。select 一般和case配合使用selectselect一般用于设计菜单。select显示一15函数格式:function_name()command_list return n其中return用于带回函数的返回码(0255)注意:函数必须先定义后使用函数在当前环境下运行,和调用它的脚本共享变量;而且可以通过把变量作为定位参数来赋值的方式传递变量。函数格式:function_name()16SHELL 内置命令eval命令分析eval 命令字符串功能:首先对“命令字符串”进行shell替换,然后执行该命令。例:for(i=1;i=$#;i+)doeval echo$i.$idoneshell 内置命令eval命令分析17内置命令DECLARE内置命令 declare 可用来创建变量。declare 选项 variable=value内置命令 declare内置命令 declare 可用来创建18SHIFT命令一般用于函数或者脚本程序参数处理,特别是参数多于10以上的时候将所有参数变量向下移动一个位置,$2变成$1,$3变成$2,依次递进,但$0保持不变例如:while “$1!=”;do echo$1 shiftdoneshift命令一般用于函数或者脚本程序参数处理,特别是参数多19TRAP命令command一般情况下是Linux命令 表示发生陷阱时为空指令,不做任何动作-表示发生陷阱时采用缺省指令trap命令command20常见信号常见信号21SHELL内置命令总结内置命令内置命令命令说明命令说明echo输出一行文本到标准输出设备read从标准输入设备读入数据printf格式化输出declare定义或创建变量或数组let让未定义的变量参与算术运算expr执行表达式shift把所有参数变量向下移动一个位置eval执行命令trap用来定义接收OS信号后而采取的动作exit退出SHELL程序sleep休眠test条件测试Shell内置命令总结内置命令命令说明echo输出一行文本到22网络编程/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网络编程/dev/tcp&/dev/udp:这两个神奇的23脚本调试sh x 脚本名该选项可以使用户跟踪脚本的执行,此时 shell 对脚本中每条命令的处理过程为:先执行替换,然后显示,再执行它。shell 显示脚本中的行时,会在行首添加一个加号“+”。sh v 脚本名在执行脚本之前,按输入的原样打印脚本中的各行。sh n 脚本名对脚本进行语法检查,但不执行脚本。如果存在语法错误,shell 会报错,如果没有错误,则不显示任何内容。脚本调试sh x 脚本名24 谢谢观赏25
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!