当前位置: 首页 > news >正文

东莞有口碑的教育网站建设网站建设排名北京

东莞有口碑的教育网站建设,网站建设排名北京,百度正版下载,免费建站的网站哪个好Shell 文章目录 Shell1. 简介2. Shell 脚本入门3. 变量4. 运算式5. 条件判断6. 流程控制6.1 if 判断6.2 case 语句6.3 for 循环6.4 while 循环 7. read 读取控制台输入8. 函数8.1 系统函数8.2 自定义函数 9. 正则表达式入门10. 文本处理工具10.1 cut10.2 awk 11. 归档文件案例 …Shell 文章目录 Shell1. 简介2. Shell 脚本入门3. 变量4. 运算式5. 条件判断6. 流程控制6.1 if 判断6.2 case 语句6.3 for 循环6.4 while 循环 7. read 读取控制台输入8. 函数8.1 系统函数8.2 自定义函数 9. 正则表达式入门10. 文本处理工具10.1 cut10.2 awk 11. 归档文件案例 1. 简介 Shell是一个命令行解释器它接收应用程序/用户命令然后调用操作系统内核。Shell还是一个功能相当强大的变成语言。 查看 Linux 提供的 Shell 解释器cat /etc/shells 其中 sh 是软链接指向 bash CentOS 默认的解析器是 bash 2. Shell 脚本入门 脚本文件格式#!/bin/bash 开头表示指定解析器 脚本的执行方式 bash 脚本路径 或 sh 脚本路径 这种方式不用赋予 x 权限脚本路径 当前目录下必须用 ./脚本名 的方式执行要求必须有 x 权限. 或 source 无需 x 权限且不会在当前 shell 中打开一个子 shell 来执行脚本内容。 方式1和2会打开子 shell 执行脚本内容执行结束再回到父 shell。开子 shell 与不开子 shell 的区别就在于环境变量的继承关系如在子 shell 中设置的当前变量父 shell 是不可见的 3. 变量 常用系统变量$HOME 、$PWD 、$SHELL 、$USER 等自定义变量变量名变量值 撤销变量 unset 变量名 静态变量readonly 变量 静态变量不能撤销。export 变量名 提升为全局变量变量名规则 环境变量名建议大写变量默认都是字符串类型无法直接进行数值运算变量有空格需用单引号或双引号括起来 特殊变量 $n n 为数字$0 代表该脚本名称$1 - $9 代表第一到第九个参数十以上的参数需要用大括号包含如 ${10}$# 获取所有输入参数个数常用于循环,判断参数的个数是否正确以及加强脚本的健壮性$* 这个变量代表命令行中所有的参数$* 把所有的参数看成一个整体当被双引号包含时相当于把所有参数拼成了一个字符串$ 这个变量也代表命令行中所有的参数不过 $ 把每个参数区分对待相当于把所有参数拼成一个集合只有当被双引号包含时才与 $* 有区别$ 最后一次执行的命令的返回状态。如果这个变量的值为 0证明上一个命令正确执行如果这个变量的值为非 0具体是哪个数由命令自己来决定则证明上一个命令执行不正确 4. 运算式 通过 $((运算式)) 或 $[运算式] 可以获取并接收一个运算式的值 [linuxCentOS01 ~]$ a$[123] [linuxCentOS01 ~]$ echo $a 65. 条件判断 基本语法 test condition[ condition ] condition 前后必须有空格 常用判断条件 比较 下面是整数间的比较如果是字符串之间的比较 用等号 判断相等用 ! 判断不等 符号含义-eq等于equal-ne不等于not equal-lt小于less than-le小于等于less equal-gt大于greater than-ge大于等于greater equal 文件权限判断[ -r hello.txt ] 判断 hello.txt 有没有读权限文件类型判断-e 文件存在-f 文件存在并且是常规文件-d 文件存在并且是一个目录 一般可以直接用 $? 来表示上一条条件判断结果false 为 0true 为 1 还可以用 或 || 来控制多条件判断及语句执行 表示前一条命令执行成功时才执行后一条命令|| 表示上一条命令执行失败后才执行下一条命令 6. 流程控制 6.1 if 判断 单分支 if [ 条件判断式 ];then程序 fi或者 if [条件判断式] then程序 fi多分支 if [ 条件判断式 ] then程序 elif [ 条件判断式 ] then程序 else程序 fi6.2 case 语句 case $变量名 in 值1)变量值等于值1时执行的程序 ;; 值2)变量值等于值2时执行的程序 ;; *)变量值都不是上述值执行的程序 ;; esac6.3 for 循环 语法1 for (( 初始值;循环控制条件;变量变化 )) do程序 done语法2 for 变量 in 值1 值2 值3... do程序 done6.4 while 循环 while [ 条件判断式 ] do程序 done7. read 读取控制台输入 基本语法read (选项) (参数) 选项 -p 指定读取值时的提示符-t 指定读取值时等待的时间秒如果-t 不加表示一直等待 参数指定读取值的变量名 8. 函数 8.1 系统函数 basename [string / pathname] [suffix] 取路径里的文件名称指定了 suffix 会将对应 suffix 去掉dirname 文件绝对路径 取文件路径的绝对路径目录不含文件名 8.2 自定义函数 基本语法 [function] funcName[()] {Action;[return int;] }如 function sum() {s0;s$[$1$2]echo $s; }经验技巧 必须在调用函数地方之前先声明函数函数返回值只能通过 $? 系统变量获得如果不加 return 返回将以最后一条命令运行结果如用 return 后跟数值 n(0-255) 9. 正则表达式入门 正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里正则表达式通常被用来检索、替换那些符合某个模式的文本。在 Linux 中grepsedawk 等文本处理工具都支持通过正则表达式进行模式匹配 常规匹配cat a.txt | grep abc 就会匹配所有包含 abc 的行 常用特殊字符 ^ 匹配一行的开头cat a.txt | grep ^a 匹配所有 a 开头的行$ 匹配一行的结束cat a.txt | grep a$ 匹配所有 a 结尾的行. 匹配一个任意字符cat a.txt | grep a.b 匹配 aab 、abb 、acb … 的所有行* 不单独使用和上一个字符连用表示匹配上一个字符0次或多次\ 转义字符如 cat a.txt | grep \$ 匹配包含 $ 的行 字符区间[] [6,8] 匹配6或者8[6-8] 匹配一个 6-8 间的数字[0-9]* 匹配任意长度的数字字符串3[a-z] 匹配一个 a-z 间的字符[a-c,e-f] 匹配一个 a-c 或者 e-f 间的字符 10. 文本处理工具 10.1 cut cut [选项参数] filename 默认分割符是 \t 选项参数功能-f列号提取第几列可用 , 隔开表示多列-d分隔符按照指定分隔符分割列默认是制表符 \t-c按字符进行切割后加 n 表示取第几列如 -c 1 切割 ifconfig 后打印的 IP 地址 [linuxCentOS01 ~]$ ifconfig ens33 | grep netmask | cut -d -f 10 192.168.115.12810.2 awk 一个强大的文本分析工具把文件逐行的读入以空格为默认分隔符将每行切片切开的部分再进行分析处理 基本语法awk [选项参数] ‘/pattern1/{action1} /pattern2/{action2}...’ filename pattern 表示 awk 在数据中查找的内容就是匹配模式action 在找到匹配内容时所执行的一系列命令 选项参数功能-F指定输入文件分隔符-v赋值一个用户定义变量 内置变量 变量说明FILENAME文件名NR已读的记录数行号NF浏览记录的域的个数切割后列的个数 切割 ifconfig 后打印的 IP 地址 [linuxCentOS01 ~]$ ifconfig ens33 | awk /netmask/ {print $2} 192.168.115.12811. 归档文件案例 实现一个当天对指定目录归档备份的脚本输入一个目录名称末尾不带/将目录下所有文件按天归档保存并将归档日期附加在归档文件名上放在 /root/archive 下。 这里用到了归档命令tar 后面可以加上 -c 选项表示归档加上 -z 选项表示同时进行压缩得到的文件后缀名为 .tar.gz 。如需每天执行可结合 crond 服务使用。 脚本实现如下 #!/bin/bash # 首先判断输入参数个数是否为 1 if [ $# -ne 1 ] thenecho 参数个数错误应该输入一个参数作为归档目录名exit fi# 从参数中获取目录名称 if [ -d $1 ] thenecho elseechoecho 目录不存在echoexit fiDIR_NAME$(basename $1) DIR_PATH$(cd $(dirname $1); pwd) # 获取当前日期 DATE$(date %y%m%d)# 定义生成的归档文件名称 FILEarchive_${DIR_NAME}_$DATE.tar.gz DEST/root/archive/$FILE# 开始归档目录文件 echo 开始归档... echotar -czf $DEST $DIR_PATH/$DIR_NAMEif [ $? -eq 0 ] thenechoecho 归档成功echo 归档文件为$DESTecho elseecho 归档出现问题echo fiexit
http://www.zqtcl.cn/news/914552/

相关文章:

  • 看世界杯网址网站更新seo
  • 深圳网站做的好的公司商洛做网站电话
  • 环保部网站官网建设项目审批做网站推广赚钱吗
  • 北仑建设局网站东莞市seo网络推广价格
  • 大专学历怎么自考优化建站
  • 网站上的图片怎么替换中国电力建设集团网站
  • 开发手机网站步骤手机网站前端开发布局技巧
  • 文山文山市网站建设网站建设管理教程视频
  • 深圳建筑业协会官网seo短视频新地址在哪里
  • 学院宣传网站制作大型网站团队人数
  • 新品发布会ppt参考友山建站优化
  • 做网站云服务器装系统厦门网站建设哪家强
  • 网站建设顶呱呱东莞建设信息网官网
  • 化妆品网站下载企业宣传片报价明细
  • php建设网站怎么用网站建设忽悠
  • 网站软件app免费注册账号qq
  • 清河网站建设公司西安开发网站的公司
  • 怎么用自己的服务器做网站软件接口设计文档
  • 昆明做网站建设找谁郑州网站制作的公司哪家好
  • 天津seo网站推广如何做医美机构网站观察分析
  • 东莞网站到首页排名网站建设与设计主要是干什么的
  • 自己做网站要花钱吗个人网站可以做资讯吗
  • 做vr效果图的网站做小程序的公司有哪些比较好
  • 物流建设网站总结制作壁纸的软件
  • 自己电脑做主机怎么做网站培训公司排名
  • 网站seo优化排名qq空间wordpress搬家
  • 做二手元器件那个网站查价格元气森林网络营销策略分析
  • 优质网站建设是哪家17网站一起做网店不发货
  • 建设企业网银如何对账seo优化推广工程师
  • 广州制作外贸网站小说网站制作公司