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 是一种弱类型语言,不需要提前定义数据类型:
注意!变量赋值的时候=号前后不能有空格
shell基本操作
这里K是静态变量,D是动态变量。
$指的是引用:
$KA 是以KA为整体
${K}A 加大括号的是规范的
动态变量写的时候并不知道那个值是什么,只是命令走到那一行的那一刹那,那个值是什么。
shell基本操作

Shell传递参数

shell基本操作
这里 $1 $2 分别代表第一个参数,第二个参数;
$0表示命令本身;
$# 代表的是参数的个数;
*代表全部参数 **$ 表示当前脚本运行的 PID**
无参数运行脚本:shell基本操作
两个参数运行脚本(以空格为分):
shell基本操作
四个参数运行脚本:
shell基本操作

Shell数组

Shell只支持一维数组,并且以空格分隔,以小括号来表示。
shell基本操作
其中 @和*都表示全部,arr[4]表示数组下标为4的元素(数组以0开始)。 #arr[@]表示数组总共有多少个元素。

if判断

shell基本操作
其中注意点:

  1. if [ $A == $B ];then
    if 之后必须要有一个空格的,没有空格是会报错的;
    ==两边需要空格;
    [ 之后需要空格,]之前需要空格;
  2. 最后需要加上 fi 作为结束
    多层if 判断
    shell基本操作

循环

for循环

shell基本操作
输出:
shell基本操作
shell基本操作
注意:for(()) 必须得有双层括号
do done

while循环

shell基本操作

分割

shell基本操作

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

这四行是约定俗成的

awk

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

sed 替换

shell基本操作
shell基本操作
全局替换:
shell基本操作
在每行前面添加:
shell基本操作
在每行行尾添加:
shell基本操作

相关文章:

  • 2021-08-08
  • 2022-12-23
  • 2022-12-23
  • 2021-09-11
  • 2021-05-12
  • 2021-05-18
  • 2021-12-08
猜你喜欢
  • 2021-07-26
  • 2021-09-14
  • 2021-04-01
  • 2021-10-21
  • 2021-05-28
  • 2021-07-11
相关资源
相似解决方案