Linux笔记 shell脚本

关于快捷键:撤销操作 在命令模式下按u 删除按x

1 注意空格不要随便加
创建局部的变量 不能加空格
Linux笔记 shell脚本
下面的写法将会报错
Linux笔记 shell脚本
下面这个也是空格的问题
Linux笔记 shell脚本
执行后:
Linux笔记 shell脚本
只有一个i就没有问题了 有空格就会有问题
Linux笔记 shell脚本

2 字符串相关
加双引号“”
Linux笔记 shell脚本
再次执行后
Linux笔记 shell脚本
自动解析字符串拼接
Linux笔记 shell脚本
执行后
Linux笔记 shell脚本

输出$需要转义
Linux笔记 shell脚本

Linux笔记 shell脚本

把命令输出给变量进行赋值 波浪线下的反引号··
Linux笔记 shell脚本

Linux笔记 shell脚本

反引号和括号一样 把命令的结果给变量赋值
Linux笔记 shell脚本

Linux笔记 shell脚本

3 输出重定向
Linux笔记 shell脚本

执行后
Linux笔记 shell脚本

使用ls -al命令 可以看到生成了test2
Linux笔记 shell脚本

查看test2的内容 test2的内容就是刚才ls -a输出的结果
Linux笔记 shell脚本

wc < test3 输出的问题本作为wc的数据 wc会把文本里面的函数字节打印出来
新建文件text3 并随便写一句话 测试wc
Linux笔记 shell脚本

Linux笔记 shell脚本

重新执行
Linux笔记 shell脚本
表示一行 3个单词 23个字节

直接在命令行使用wc命令,EOF后边的是数据
Linux笔记 shell脚本
表示2行2个单词10个字节

4 数学计算
shell脚本中使用方括号 比如执行数学运算
Linux笔记 shell脚本

Linux笔记 shell脚本

可以用方括号取代expr
Linux笔记 shell脚本

Linux笔记 shell脚本

浮点数计算
Linux笔记 shell脚本

Linux笔记 shell脚本
可以看到e没有值 用浮点数计算用bc

命令模式下用bc
Linux笔记 shell脚本
可以看到10/3结果为3

shell下用bc
Linux笔记 shell脚本

Linux笔记 shell脚本

5 内联输入重定向
Linux笔记 shell脚本

Linux笔记 shell脚本
scale=4表示保留4位小数

6 命令执行的退出状态
127表示没有找到命令
Linux笔记 shell脚本

0表示正常退出
Linux笔记 shell脚本

1位置错误
Linux笔记 shell脚本

126表示命令不可执行
Linux笔记 shell脚本

自己定义退出
Linux笔记 shell脚本

Linux笔记 shell脚本
不同的退出状态 决定if条件是否成立

7 if条件
Linux笔记 shell脚本

Linux笔记 shell脚本

看用户变量和配置
Linux笔记 shell脚本

Linux笔记 shell脚本

grep在shell脚本里查找
Linux笔记 shell脚本

else
Linux笔记 shell脚本

Linux笔记 shell脚本

if后面只能跟命令。test var 不加 $什么情况下都是真
Linux笔记 shell脚本

Linux笔记 shell脚本

表示是否存在var变量
Linux笔记 shell脚本

Linux笔记 shell脚本

8 比较大小 比较字符串
比较大小
Linux笔记 shell脚本

Linux笔记 shell脚本

比较字符串
Linux笔记 shell脚本

Linux笔记 shell脚本

判断文件是否存在
Linux笔记 shell脚本

Linux笔记 shell脚本

多个条件
Linux笔记 shell脚本

Linux笔记 shell脚本

多个条件写试用case
Linux笔记 shell脚本

Linux笔记 shell脚本

9 循环
for循环遍历
Linux笔记 shell脚本

Linux笔记 shell脚本

\转义
Linux笔记 shell脚本

同样也可以这样 改成一个List变量
Linux笔记 shell脚本

打印结果
Linux笔记 shell脚本

,分开
Linux笔记 shell脚本

–分开
Linux笔记 shell脚本

Linux笔记 shell脚本

while循环
Linux笔记 shell脚本

Linux笔记 shell脚本

10 shell脚本传参
Linux笔记 shell脚本

Linux笔记 shell脚本

11 输出重定向
把所有输出信息输出到文件
在Linux上把所有的对象都当做文件 输入(键盘) 输出(屏幕 或者文件)

输出到屏幕
Linux笔记 shell脚本

Linux笔记 shell脚本

输出到文件test7
Linux笔记 shell脚本

Linux笔记 shell脚本

永久重定向
Linux笔记 shell脚本

Linux笔记 shell脚本

错误输出到文件
Linux笔记 shell脚本

Linux笔记 shell脚本

11 访问方法
方法名字后边必须有空格
Linux笔记 shell脚本

Linux笔记 shell脚本

覆盖方法 这种可以不写空格
Linux笔记 shell脚本

方法传参
Linux笔记 shell脚本

Linux笔记 shell脚本

方法传参和返回值
Linux笔记 shell脚本

Linux笔记 shell脚本

访问局部变量
Linux笔记 shell脚本

调用其他shell脚本函数
Linux笔记 shell脚本

Linux笔记 shell脚本

Linux笔记 shell脚本