shell的基础操作

shell中的变量替换

在这里插入图片描述

shell中的变量测试

在这里插入图片描述

shell中字符串的处理
${#String} 获取字符串长度
expr length "$string"
expr index $string $substring   获取子字符串的索引
expr match $string $substring   从头开始,获取子字符串的位置 `expr match “$vatstr” zhang`
expr索引下表是从1开始

抽取子串
索引下表从0开始
${string:position}
${string:position:length}
${string: (-position)}     从右开始
${string:posttion}	 从左开始
echo `expr substr $string $position(下标) $length`       执行的时候需要加上单引号


命令替换语法格式


```bash
`command`    #反向引号
$(command)

cat /etc/passwd | cut -d ":" -f 1

data +%Y

echo "this is $(($(data +%Y) + 1)) year"  两个括号用于计算,其中这个是命令替换 $(data +%Y)

# 有类型变量

```bash
shell 是一种弱类型变量语言
declare   typeset 定义变量的类型
var=”hello”
declare -r var   声明为只读,无法修改的变量
如果声明了一个变量为整形,其他变量在合成时会自动成为整形计算
declare -a array
array=(“hell” “o” “owr” “world”)    中间用空格分隔  ${array[@]}    ${#array[@]}
了解,shell中数组的操作
declare -x 声明一个环境变量 在脚本中可以使用(不止在终端)
declare +r   取消一个只读变量

在这里插入图片描述

expr 使用(数学运算) 注意参数之间的空格

在这里插入图片描述
在这里插入图片描述

注意上图的前两个
expr $num1 \| $num2
判断变量是否相等尽量使用 expr
expr 只能对整数进行运算
如果一个命令执行不成功,$? 是一个非零的变量 但是 expr正好相反,具体看上表

在这里插入图片描述
在这里插入图片描述

bc 主要用于做浮点运算

which bc    (启用)
scale=2   指明精确度
echo “scale=4;34+5” | bc   用分号分隔两个命令

3-1 函数定义和使用

定义语法 functionname(){} function name{}
调用函数 function $1 $2 参数之间用空格隔开
nohup sh ngind_daemon.sh & 在后台运行 tail -f nohup.out
在这里插入图片描述
计算器脚本

在这里插入图片描述

3-3 函数的返回值

有两种方式 return echo
在这里插入图片描述
在这里插入图片描述

3-4局部变量和全局变量

在这里插入图片描述
在这里插入图片描述

3-5函数库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

find 命令的使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

locate 命令的使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

grep egrep 的用法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

grep -E “python|PYTHON”  file
grep -r love   

sed的使用

sed是一个流编辑器,对标准输出或文件进行处理

在这里插入图片描述

sed -n -r ‘python|PYTHON/p’ sed.txt     扩展正则表达式

在这里插入图片描述

sed -i ‘s/love/like/g’ sed.txt   s表示的替换 //s///g;p
sed -n -e ‘/python/p’ -e ‘/PYTHON/p’ sed.txt
sed -n -f edit.sed sed.txt    edit.sed的内容就是为了保存复杂的动作 

6-2 sed 中pattern的用法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6-4 sed中的编辑命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sed ‘1d’ passwd    不会对源文件操作
sed -I ‘1d’ passwd  会对源文件进行操作
sed -I ‘/\/bin\/bash/a this is user which can login’ passwd      行后追加
sed -I ‘//,//I AAAAAAAAAAAAA’ passwd
sed -I ‘/root/r list’ passwd    list是一个文件 ,将文件的内容追加到匹配的行后
sed ‘/\/bin\/bash/w /tmp/user_login.txt’ passwd   将匹配的结果写入文件中


sed 的修改

在这里插入图片描述

sed 的反向引用

sed -I ‘s/had..p/&s/g’  paswd  在匹配到的结尾加s      
sed -I ‘s/\(had..p\)/\1s/g’  paswd      &和\1的效果相同 前面需要加括号
sed -I ‘s/\(had\)../\1doop/g’ paswwd     反向引用括号里面的
shell 中存在变量是尽量使用双引号

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6-5 sed 删除操作

在这里插入图片描述

6-6 sed 修改文件内容

在这里插入图片描述
在这里插入图片描述

6-7 sed 添加内容操作

a      I (在匹配行前添加)       r       w

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值