2. shell脚本编写语法及命令

本文详细介绍了Linux Shell脚本的创建、标准输入重定向、执行方式、语法、位置参数变量、文本处理命令如wc、管道符、排序与去重、grep命令的使用,以及Linux的哲学思想。通过实例讲解了脚本编写过程中的各种操作,帮助读者掌握Shell脚本的编写技巧。
摘要由CSDN通过智能技术生成

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+参数内容------参数内容显示在屏幕上,作为提示信息
			 -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到 9 , 代 表 第 一 个 到 第 九 个 参 数 , 十 以 上 的 参 数 , 需 要

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值