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

 

posted @ 2026-05-21 18:52  番茄蛋汤  阅读(7)  评论(0)    收藏  举报