116186469086580225
前言
Unix shell,一种壳层与命令行界面,是UNIX操作系统下传统的用户和计算机的交互界面。第一个用户直接输入命令来执行各种各样的任务。(维基百科)
定义解释器
- 在脚本第一行定义Shell解释器(我这里使用的是zsh)
定义脚本说明
1 2 3 4
| # Author: FeiJu # Created Time: 2021/10/10 10:10 # Release: 1.0 # Script Description: This is a Shell script
|
运行脚本
<file>:脚本名
直接执行
1 2
| chmod +x <file>.sh ./<file>.sh
|
使用对应解释器执行
以debug方式运行
查看系统支持的解释器
Shell中的特殊符号
~:家目录
!:执行历史命令
$:取变量的内容
+、-、*、/、%:数学运算符
&:后台执行
*:通配符,匹配任意个任意字符
?:通配符,匹配一个任意字符
;:分隔两条命令
|:管道符,将第一句的结果传递给第二句作为参数
\:转义字符
'':单引号,用于括起来字符串。与双引号不同的是,单引号不解释变量
"":双引号,用于括起来字符串
'''':双单引号,相当于双引号,可以解释变量的字符串
存取变量
存变量
取变量
变量自增
重定向
输入重定向
<sh>:命令
<file>:文件
追加重定向
输入重定向
- 把执行命令可能会遇到的参数提前追加给命令,实现自动加参数执行命令
<sh>:一个交互式的、可能需要参数的命令
...:顶格写参数,一个参数一行,可以直接用换行代替默认值
算数运算
expr直接运算
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # 加 expr 10 + 3
# 减 expr 10 - 3
# 乘 expr 10 \* 3
# 除 expr 10 / 3
# 取余 expr 10 % 3
|
echo直接运算
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| # 加 echo $(( 10 + 3 ))
# 加 echo $(( 10 + 3 ))
# 减 echo $(( 10 - 3 ))
# 乘 echo $(( 10 * 3 ))
# 除 echo $(( 10 / 3 ))
# 取余 echo $(( 10 % 3 ))
# 乘方 echo $(( 10 ** 3 ))
|
赋值变量后打印结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # 加 let sum=10+3 echo $sum
# 减 let reduce=10-3 echo $reduce
# 乘 let multiply=10*3 echo $multiply
# 除 let divide=10/3 echo $devide
|
通过bc进行计算
安装bc
进行计算
配置支持小数
<num>:支持的小数点后位数
不在交互式下运算
执行成功判断
- 如果结果是0,则代表执行成功;如果结果是非0,则代表执行不成功
判断数据是否为整数
- 任意数字加1,如果报错就说明不是整数
- 此时可以使用
$?来判断是否正确执行,从而判断是否是整数
定义脚本结束
<num>:返回值是一个数字,范围为0-28
输入变量
-p <str>:输入事的提示文字
-t<num>:设置超时时间
-s:不回显
-n<num>:限定输入的字符数
输入后存到一个变量
<str>:变量名
输出变量
-n:输出不换行
-e:遇见转义字符进行转义
\a:发出警告声
\b:删除前一个字符
\c:最后不加上换行符号
\v、\f:换行但光标仍旧停留在原来的位置
\n:换行且光标移至行首
\r:光标移至行首,但不换行
\t:插入制表符
\:插入反斜线
\<num>:插入对应ASCII值的字符
-help:查看帮助
-version:查看版本
输出重定向丢弃结果
完成
参考文献
哔哩哔哩——Python社区
哔哩哔哩——千锋教育网络安全学院