前面说过查询系统的允许使用的shell类型和查看当前系统默认的shell的命令
一、什么是Shell?
Shell是系统的用户界面,提供用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
也可以说shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。
二、shell脚本
1.什么是shell脚本:shell脚本简单来说就是一个可执行的文件,当然最好加上后缀名==.sh或.bash==
2.shell脚本注释方法:
1)单行注释: #注释内容
2)多行注释::<<BLOCK 注释内容 BLOCK
注意注释时最好使用英语,既可以显得高大上也可以防止乱码
3.shell脚本内容
第一行必须要有:#!/bin/bash或== #!/bin/sh ==
如果想要更加规范,那么可以加入:
#Date:创建日期
#Author:作者
#Mail:联系方式
#Function:功能
#Version:版本
4.执行shell脚本的方法
首先要增加其权限,chmod u+x 路径/脚本名
执行方法:
1)切换到shell脚本所在的目录==./脚本名==
2)绝对路径/脚本名
3)sh 绝对路径/脚本名 或 bash 绝对路径/脚本名
4)或在当前目录下: .脚本名
三、shell中的各种占位符
1)* : 通配符,任意匹配多个字符
2)? :任意匹配一个字符
3)[] : 匹配括号中任意一个字符
四、shell变量
1.变量的类型
1) 自定义变量
定义变量: 变量名=变量值 变量名必须以字母或下划线开头,区分大小写。
引用变量: $变量名 或 ${变量名}
取消变量: unset 变量名
作用范围: 仅在当前shell中有效
2)环境变量
定义环境变量: 用expor来定义
引用环境变量: $变量名 或 ${变量名}
取消环境变量: unset 变量名
变量作用范围: 在当前shell和子shell有效
2.位置变量: $1 $2 $3 $4
执行命令:
其中 $* 和 $@ 表示所有的参数, $# 表示该脚本中参数个数, $ $ 表示当前进程的PID
3.变量赋值
1)显示赋值:变量名=变量值
2)从键盘读入式赋值
(1)read 变量名
(2)read -p “提示信息:” 变量名
(3)read -n数字 变量名
(4)read -t 数字 -p “提示信息:” 变量名
-n数字 :例如:-n2 :表示用户输入两个字符后会被系统强制退出当前输入。
-t 数字:例如: -t 5:表示5秒后系统自动退出当前输入,不管用户是否输入数据。
五、变量的运算
1.整数运算
法一:expr
expr $num1 + $num2
expr $num1 - $num2
expr $num1 * $num2
expr $num1 / $num2
expr $num1 % $num2
法二: $(( ))
echo $((num1+num2))
echo $((num1-num2))
echo $((num1*num2))
echo $((num1/num2))
echo $((num1%num2))
要注意在expr中乘需要用到转义“ \ ”字符,否则系统不识别,而在 $(( ))中乘可以直接用 “ * ”来表示,系统可以识别
2.小数运算
echo “nu1+nu2” | bc
echo “nu1-nu2” | bc
echo “nu1*nu2” | bc
echo “nu1/nu2” | bc
echo “nu1%nu2” | bc
echo “nu1^nu2” | bc