2.shell脚本编写语法及命令第⼆节 Shell脚本编写语法及命令
2.1如何创建脚本⽂件?
1.创建脚本⽂件 -----vim 名字.sh
2.⽂件中的第⼀⾏-----编写解释器----#!/bin/bash
3.编写内容----不要出现交互式的语句
4.给脚本可执⾏权限----创建的⽂件没有x权限,需要给X权限
5.执⾏脚本---- ./脚本名.sh
6.作业: 编写脚本 :执⾏脚本会在/tmp创建yyn.log⽂件,并且⽂件中第⼀⾏是1,第⼆⾏是2, (10)
第⼀种⽅式:内容如下:
执⾏结果如下:
2.2标准输⼊重定向----脚本中的⾮交互式编辑⽂件
1.命令<
<;表⽰标准输⼊重定向 +⽂件
2.命令<<
<<;表⽰标准输⼊重定向 +⾃定义⽂本 命令+<<+字符1+回车+内容+字符2字符1和字符2必须是⼀样的
练习:⼀般使⽤<<EOF 和>EOF来定义
命令⾏中会有续航符,但是在编写脚本的时候,没有续航符,直接回车编写就⾏,练习:编写yum源的配置⽂件:------脚本中的⾮交互式编辑⽂件
2.3执⾏脚本的⽅式
2.3.1.第⼀种⽅式(推荐使⽤)
脚本⽂件的第⼀⾏必须写命令解释器 ------#!/bin/bash
执⾏时,----绝对路径/相对路径 脚本⽂件必须有可执⾏权限(x)
---------绝对路径执⾏
-----------相对路径执⾏
绝对和相对执⾏的脚本⽂件中必须有-----#! /bin/bash
2.3.2.第⼆种⽅式
脚本中⽆需定义命令解释器
执⾏时 bash+脚本路径
-------相对路径执⾏
-
------绝对路径执⾏
这个执⾏⽅式不需要写-----#!/bin/bash
总结:.上述2种⽅式都是在⼦shell中执⾏脚本都是先运⾏⼦shell,
2.3.3.第三种⽅式(极少⽤)
1.使⽤source进⾏执⾏------在当前设⽴了执⾏脚本
Source 脚本 ========== .(点) 脚本
Source .bashrc source .bash_profile----⽂件⽣效
在当前shell执⾏脚本,即使⼦进程执⾏完,退出,当前shell窗⼝也可以看到执⾏的结果
作业:编写脚本:
创建/tmp/test1⽬录
在⽬录中创建以时间命名的⽂件
将指定/etc/profile.d⽬录中的内容放⼊⽬录中
第⼀种⽅式
执⾏结果:
出现⼤量⼀样的数据需要修改,咋办?
1)在vim编辑器下在冒号模式下执⾏替换操作: %s/替换前的字符/替换后的字符/g %S表⽰在所有⾏进⾏搜索, /g表⽰全局变量的全部⾏匹配
第⼆种⽅式:
2.4脚本编写语法
2.4.1 read 语法
语法格式: read +参数 “ 提⽰内容”+变量名
参数: -p+参数内容------参数内容显⽰在屏幕上,作为提⽰信息shell最简单脚本
-s--------(针对输⼊密码字符,使其不可见)
语法功能:可以从外界读⼊变量值
常⽤命令:  read  变量名
Read  -p  “提⽰内容”  变量名
Read  -s  不回显---类似密码
练习1:
针对密码不可见:-----加-s参数
练习2: 不指定⽤户固定使⽤⼀个⽬录来创建,+配合使⽤read -p
练习3: 配合使⽤$1参数
2.5位置参数变量
2.5.1 $n ⽤法—n 是数字(除0)
$n----表⽰位置参数,表⽰传递的参数----是位置变量/位置参数
使⽤⽅式: 脚本名 变量值1 变量值2 变量值3 ……
$1到{10}$1可以表⽰第⼀个变量值, $2表⽰第⼆个变量值, $3表⽰第三个变量值.,以此类推变量名=$1—就表⽰,将脚本⽂件执⾏的第⼀个变量值,赋值给变量名
练习:
1. $0 语法 —0(零)
$0—表⽰显⽰执⾏脚本⽂件的路径-----就是⾃⼰本⾝ ---- 是位置变量9,代表第⼀个到第九个参数,⼗以上的参数,需要⽤括起来,−−−

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。