shell语言的特点
SHELL语言是指UNIX操作系统的命令语言,同时又是该命令语言的解释程序的简称。
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。
Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;
作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、
建立文件并以并行的方式协调各个程序的运行。
因此,对于用户来说,shell是最重要的实用程序,
深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。
shell文件的执行
shell脚本文件后缀最好以.sh 结尾
bash 文件名
sh 文件名
. 文件名
source bash.sh
shell变量的类型
自定义变量
IP=192.168.88.142
school="beijing zhongxue"
2. 环境变量
定义环境变量: 方法一 export back_dir2=/home/backup
方法二 export back_dir1 将自定义变量转换成环境变量
引用环境变量: $变量名 或 ${变量名}
查看环境变量: echo $变量名 env 例如env |grep back_dir2
取消环境变量: unset 变量名
变量作用范围: 在当前shell和子shell有效 !!!!!!!!!!!!!!!!!!!!!!!
使变量开机、登陆生效,将变量放到~/.bash_profile
变量的运算
1. 整数运算
expr $num1 + $num2 #运算符号有+(加) -(减) *(乘) /(除) %(取余)
num1=1 #定义变量num1
num2=2 # 定义变量num2
echo "------expr-------" #定义输出内容
num4=$(expr 1 + 2) #通过expr 进行算数运算 并赋值给num4
echo $num4 #输出变量num4
echo "-------(())---------" #定义输出内容
方法二 (()) 计算
num3=$(( $num1 + $num2 )) #通过(())进行算数运算 并赋值给变量num3
echo $num3 #输出变量num3
方法三 [] 计算
num5=$[$num1+$num2] #通过[]进行算术运算 并赋值给变量num5
echo $num5 #输出变量num5
方法四 let
let num6=$num1+$num2 #通过调用变量num1 和 num2 进行算术运算
echo $num6 #输出num6
let i++ # 相当于 let $i=$i+1
2. 小数运算
yum -y install bc #小数运算需要借助工具
echo "2*4" |bc #表示2*4
echo "2^4" |bc #表示2的4次方
echo "scale=2;6/4" |bc
# bc:交互运算器
# scale=2 保留小数点后面两位
3. 预先定义好的变量
$0 脚本名
$* 所有的参数
$@ 所有的参数
$# 参数的个数
$$ 当前进程的PID
$! 上一个后台进程的PID
$? 上一个命令的返回值 0表示成功
4. 自定义输入变量
read -p "请输入变量值: " name #请输入变量值为描数 : 后面的才为变量值 name为变量的名称
echo "$name" #为输出变量
5 .环境变量的定义
定义环境变量: 方法一 export back_dir2=/home/backup
方法二 export back_dir1 将自定义变量转换成环境变量
引用环境变量: $变量名 或 ${变量名}
查看环境变量: echo $变量名 env 例如env |grep back_dir2
取消环境变量: unset 变量名
变量作用范围: 在当前shell和子shell有效 !!!!!!!!!!!!!!!!!!!!!!!