shell
1.环境变量配置
1 #打开proflie 2 sudo nano /etc/profile 3 #在最后添加,添加完保存退出 4 export SOFTWAREPATH=/opt/software 5 #立即生效 6 source /etc/profile 7 #测试 8 echo $SOFTWAREPATH
2.位置参数
$0 命令本身
$1 第一个参数
$* 所有参数(整体)
$@ 所有参数(区分对待)
$# 参数个数
3.预定义变量
$?(功能描述:最后一次执行的命令的返回状态。如果值为0,证明上一个命令正确执行; 如果值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)
4.运算符
1. "$((运算式))" 或 "$[运算式]" 或者 expr m + n //expression表达式
2. 注意expr运算符间要有空格, 如果希望将 expr 的结果赋给某个变量, 使用 ``
3. expr m - n
4. expr \*, /, % 乘, 除, 取余
5.判断语句
1) = 字符串比较
2) 两个整数的比较
-lt 小于
-le 小于等于 little equal
-eq 等于
-gt 大于
-ge 大于等于
-ne 不等于
3) 按照文件权限进行判断
-r 有读的权限
-w 有写的权限
-x 有执行的权限
4) 按照文件类型进行判断
-f 文件存在并且是一个常规的文件
-e 文件存在
-d 文件存在并是一个目录
1 #demo1: 2 #每样东西之间都必须得有空格 3 if [ "ok" = "ok" ] 4 then 5 echo "equal" 6 fi 7 8 #demo2:判断对应目录下有没有这个文件 9 if [ -f /home/hj/1tb_sku1.sql ] 10 then 11 echo "存在这个文件" 12 fi
6.if多分支
1 num=7 2 if [ $num -ge 20 ] 3 then 4 echo 'num>20' 5 elif [ $num -ge 10 ] 6 then 7 echo 'num>10' 8 elif [ $num -ge 5 ] 9 then 10 echo 'num>5' 11 fi
7.case语句
1 case $1 in 2 "1") 3 echo "数字的是1";; 4 "2") 5 echo "数字的是2";; 6 *) 7 echo "其它";; 8 Esac
8.for循环
1 #语法1: 2 for i in "$@" 3 do 4 echo "num is $i" 5 Done 6 7 #语法2: 8 total=0 9 for(( i=1;i<=100;i++ )) 10 do 11 total=$[$total+$i] 12 done 13 echo $total
9.while循环
1 sum=0 2 i=0 3 while((i<=100)) 4 do 5 sum=$[$sum+$i] 6 i=$[$i+1] 7 done 8 echo $sum
10.read读取控制台输入
1 #Demo1:读取控制台输入的一个数字n1 2 read -p "pls input num1:" num1 3 echo $num1 4 #Demo2:读取控制台输入的一个数字n2,在5秒内输入 5 read -t 5 -p "pls input num2:" num2 6 echo $num2
11.自定义函数求两数之和
1 function getsum() 2 { 3 sum=$[$n1+$n2] 4 echo "sum为:$sum" 5 } 6 read -p "请输入num1:" n1 7 read -p "请输入num2:" n2 8 getsum $n1 $n2
浙公网安备 33010602011771号