shell基本操作

Shell脚本是什么

Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至编写一些程序。Shell介于Linux内核与外部程序之间,相当于一个联系者的角色。
Linux下的Shell脚本文件,就是将各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。
通常情况下,Shell脚本都是以 .sh 为后缀的文件,并且开头是

#!/bin/bash  

这里/bin/bash表示shell脚本是以/bin/bash 解释器运行的。
通常情况下,有两种方式可以运行脚本文件:

  1. 假如使用sh命令执行脚本文件,可以没有+x权限和第一行解释器#!/bin/bash
  2. 假如不是使用sh命令,那么需要+x 且 #!/bin/bash

Shell变量

Shell 是一种弱类型语言,不需要提前定义数据类型:
注意!变量赋值的时候=号前后不能有空格
在这里插入图片描述
这里K是静态变量,D是动态变量。
$指的是引用:
$KA 是以KA为整体
${K}A 加大括号的是规范的
动态变量写的时候并不知道那个值是什么,只是命令走到那一行的那一刹那,那个值是什么。
在这里插入图片描述

Shell传递参数

在这里插入图片描述
这里 $1 $2 分别代表第一个参数,第二个参数;
$0表示命令本身;
$# 代表的是参数的个数;
∗ 代 表 全 部 参 数 ∗ ∗ *代表全部参数 ** $ 表示当前脚本运行的 PID**
无参数运行脚本:在这里插入图片描述
两个参数运行脚本(以空格为分):
在这里插入图片描述
四个参数运行脚本:
在这里插入图片描述

Shell数组

Shell只支持一维数组,并且以空格分隔,以小括号来表示。
在这里插入图片描述
其中 @和*都表示全部,arr[4]表示数组下标为4的元素(数组以0开始)。 #arr[@]表示数组总共有多少个元素。

if判断

在这里插入图片描述
其中注意点:

  1. if [ $A == $B ];then
    if 之后必须要有一个空格的,没有空格是会报错的;
    ==两边需要空格;
    [ 之后需要空格,]之前需要空格;
  2. 最后需要加上 fi 作为结束
    多层if 判断
    在这里插入图片描述

循环

for循环

在这里插入图片描述
输出:
在这里插入图片描述
在这里插入图片描述
注意:for(()) 必须得有双层括号
do done

while循环

在这里插入图片描述

分割

在这里插入图片描述

OLD_IFS="$IFS"
IFS=","   //分隔符为,
arr=($S) //将S字符串分隔成数组
IFS="OLD_IFS"

这四行是约定俗成的

awk

awk就是把文件逐行读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
打印第x列
在这里插入图片描述
在这里插入图片描述
打印第X行
在这里插入图片描述
如果文本中的分隔符不是空格,而是例如“,”之类的,需要:
在这里插入图片描述
可以将读取某行,读取某列一起操作:
在这里插入图片描述
也可以直接使用awk来读取
在这里插入图片描述

sed 替换

在这里插入图片描述
在这里插入图片描述
全局替换:
在这里插入图片描述
在每行前面添加:
在这里插入图片描述
在每行行尾添加:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值