SHELL基操

SHELL基操

1.启动方式和注意事项

shell脚本 后缀名约定俗成.sh结尾

运行方式 :

1.直接sh命令运行 不需要执行权限
SHELL基操_第1张图片 在这里插入图片描述
2.不使用sh命令,那么需要+x 且脚本里要有 #! /bin/bash
在这里插入图片描述
SHELL基操_第2张图片

debug模式:-x是debug模式

在这里插入图片描述
#!/bin/bash -x
在这里插入图片描述

2.变量的定义和引用

静态变量定义 内容可以直接写 可用用单引号 也可以用双引号
A= value ‘value’ “value”

动态变量定义 内容使用反引号
A=`value``
SHELL基操_第3张图片
SHELL基操_第4张图片

3.传递参数

1.shell脚本传递参数,使用参数时用$1,$2,$3 …代替
2.查看参数总个数时使用 KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲ 3.将所有参数作为一个长字符… ∗ 4. 查 看 p i d 进 程 标 识 号 使 用 * 4.查看pid进程标识号使用 4.pid使$$
SHELL基操_第5张图片
SHELL基操_第6张图片

4.数组使用

获取数组内所有内容可以使用 arr[@] arr[*]
获取数组某值 arr[0] 下标从0开始
获取数组个数 #arr[@]
SHELL基操_第7张图片
在这里插入图片描述

5.if判断

在if判断时 == 前后要有空格 不然会提示 [==] command not found
在判断变量时 大小写也要注意
SHELL基操_第8张图片
在这里插入图片描述

6.循环

SHELL基操_第9张图片

7.分割

SHELL基操_第10张图片
SHELL基操_第11张图片

8.awk取数

打印第一列参数
awk ‘{print $1,$2}’ awk.log
awk ‘{print $1 $2}’ awk.log
两种方式区别在于,第一种会原封不动打印出文件内容,第二种打印出来没有空格
SHELL基操_第12张图片
打印第一行数据
cat awk.log |awk ‘NR==1’
打印大于第一行数据
cat awk.log |awk ‘NR>1’
SHELL基操_第13张图片
按逗号分割 -f参数指定分隔符
cat awk.log |awk -F “,” ‘{print $1}’
按逗号分割打印第三列数据并且不要第一行数据
cat awk.log |awk -F “,” ‘NR>1{print $1}’
SHELL基操_第14张图片

9.SED替换

替换文件内容
sed -i “s/需要替换的内容/替换的内容/” xx.log 命令中用单双引号都可以,替换内容里如果有单引号,那么命令需要双引号修饰
SHELL基操_第15张图片
全局替换
sed -i "s/需要替换的内容/替换的内容/g xx.log
SHELL基操_第16张图片
每行行首添加内容
sed -i “s/^/需要添加的内容&/g” xx.log
SHELL基操_第17张图片
每行行尾添加内容
sed -i “s/$/&需要添加的内容/g” xx.log
SHELL基操_第18张图片

你可能感兴趣的:(SHELL基操)