Shell 语法

shell 变量

菜鸟教程 shel 变量
使用变量 ${}
变量设置为只读 readonly
unset 删除变量

1.shell 命令

echo

echo 命令用于向窗口输出文本

 echo 'hello world'

效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/2522af5ecc5944a9bfa34f2c3d8efbd5.png

echo输出的字符串总结
==================================================================
能否引用变量 | 能否引用转移符 | 能否引用文本格式符(如:换行符、制表符)
单引号 | 否 | 否 | 否
双引号 | 能 | 能 | 能
无引号 | 能 | 能 | 否
==================================================================

> 重定向输出到某个位置,替换原有文件的所有内容。
>> 重定向追加到某个位置,在原有文件的末尾添加内容。

在这里插入图片描述

printf

类似 echo
在这里插入图片描述
在这里插入图片描述

%s %c %d %f 都是格式替代符,%s 输出一个字符串,%d 整型输出,%c 输出一个字符,%f 输出实数,以小数形式输出。

%-10s 指一个宽度为 10 个字符(- 表示左对齐,没有则表示右对齐),任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

%-4.2f 指格式化为小数,其中 .2 指保留2位小数

test

检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试
-eq 等于则为真
-ne 不等于则为真
-gt 大于则为真
-ge 大于等于则为真
-lt 小于则为真
-le 小于等于则为真

代码中的 [] 执行基本的算数运算 注意需要空格

num1=100
num2=200
if test $[num1+num1] -eq ${num2}
then
    echo '两个数相等!'
else
    echo '两个数不相等!'
fi

if [ ${num1} == ${num2} ]
then
    echo '两个数相等!'
else
    echo '两个数不相等!'
fi

在这里插入图片描述

wc

wc命令用于计算字数
wc指令我们可以计算文件的Byte数、字数、或是列数

-c或–bytes或–chars 只显示Bytes数。
-l或–lines 显示行数。
-w或–words 只显示字数

如wc -c xxx文件

没有文件参数输出
在这里插入图片描述

awk

一种处理文本文件的语言
yyds

菜鸟 awk

关于 awk 脚本,我们需要注意两个关键词 BEGIN 和 END。
BEGIN{ 这里面放的是执行前的语句 }
END {这里面放的是处理完所有的行后要执行的语句 }
{这里面放的是处理每一行时要执行的语句}

head

head 命令可用于查看文件的开头部分的内容

-q 隐藏文件名
-v 显示文件名
-c<数目> 显示的字节数。
-n<行数> 显示的行数

sed

sed 可依照脚本的指令来处理、编辑文本文件

参数说明:
-e <script文件>或–expression=<script文件> 以选项中指定的script来处理输入的文本文件。
-f<script文件>或–file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
-n或–quiet或–silent 仅显示script处理后的结果。

sed -e 才对,没有 -e 也行啦!同时也要注意的是, sed 后面接的动作,请务必以 ‘’ 两个单引号括住

动作说明:
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何东东;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

seq

seq命令用于产生从起始值到结束值之间、固定增量的所有浮点数

-f, --format=格式 使用printf 样式的浮点格式
-s, --separator=字符串 使用指定字符串分隔数字(默认使用:\n)
-w, --equal-width 在列前添加0 使得宽度相同
在这里插入图片描述

seq [选项]… 起始值 增量 结束值

tail

tail 命令可用于查看文件的内容

-f 循环读取
-n<行数> 显示文件的尾部 n 行内容

tail -n -5 /test001/text001 与 tail -n 5 /test001/text001 显示的结果相同,均是文件末尾最后 5 行内容。
tail -n +5 /test001/text001 显示的内容为从第 5 行开始,直到末尾的内容。tail -n 后面的数字有效输入只有单个数字(5)或者加号连接数字(+5)两种

grep

grep 命令用于查找文件里符合条件的字符串

-A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容
-B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
-C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容
-v 或 --invert-match : 显示不包含匹配文本的所有行。
-i 或 --ignore-case : 忽略字符大小写的差别。

touch

touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。
若文件不存在,系统会建立一个新的文件

2. < 、<< 、<<< 、>、>>

1、> 覆盖输出到文本
2、>>追加到文本
3、< 将后面文件作为前面命令的输入
4、<< 带命令作用全文匹配某个字符串后结束
5、<<<部分匹配某个字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值