Shell编程

1.变量

#!/bin/bash
#案例1:定义变量A
A=100
#输出变量需要加上$
echo A=$A
echo "A=$A"
#案例2:撤销变量A
unset A
echo "A=$A"
#案例3:声明静态的变量B=2,不能unset
readonly B=2
echo "B=$B"
#unset B
#将指令返回的结果赋给变量
:<<!
C=`date`
D=$(date)
echo "C=$C"
echo "D=$D"
!

Shell编程

2.参数变量

#!/bin/bash
echo "0=$0 1=$1 2=$2"
echo "所有的参数=$*"
echo "$@"
echo "参数的个数=$#"

Shell编程

3.表达式计算

#!/bin/bash
#案例1:计算(2+3)X4的值
#使用第一种方式
RES1=$(((2+3)*4))
echo "res1=$RES1"
#使用第二种方式, 推荐使用
RES2=$[(2+3)*4]
echo "res2=$RES2"
#案例2:请求出命令行的两个参数[整数]的和 20 50
SUM=$[$1+$2]
echo "sum=$SUM"

Shell编程

if语句

#!/bin/bash
#"ok"是否等于"ok"
#用=
if [ "ok"="ok" ]
then
        echo "equal"
fi

#23是否大于等于22
if [ 23 -ge 22 ]
then
        echo "大于"
fi

# 判断/mnt/c/Users/丁帅帅/Desktop/test目录中是否存在aaa.txt
# 判断语句:使用 -f
if [ -f /mnt/c/Users/丁帅帅/Desktop/test/aaa.txt ]
then
        echo "存在"
fi

注意空格

Shell编程

#案例:请编写一个shell程序,如果输入的参数,大于等于60,则输出 "及格了",如果小于60,则输出 "不及格"
if [ $1 -ge 60 ]
then 
	echo "及格了"
elif [ $1 -lt 60 ] 
then
	echo "不及格"
fi

Shell编程

case语句

#!/bin/bash
#案例1 :当命令行参数是 1 时,输出 "周一", 是2 时,就输出"周二", 其它情况输出  "other"
case $1 in
"1")
echo "周一"
;;
"2")
echo "周二"
;;
*)
echo "other..."
;;
esac

Shell编程

for语句

#!/bin/bash
#打印命令行输入的参数
for i in "$*"
do
        echo "num is $i"
done


echo "++++++++++++++++++++++++++"
for i in "$@"
do
        echo "num is $i"
done


for i in 1 3 4 6 8 9
do
        echo "$i"
done

Shell编程

#!/bin/bash
#从1加到n
SUM=0;
for(( i=1; i<= $1; ++i))
do
        SUM=$[$SUM+$i]
done
echo "总和SUM=$SUM"

Shell编程

while语句

#!/bin/bash
#从1加到n
SUM=0
i=0
while [ $i -le $1 ]
do
        SUM=$[$SUM+$i]
        i=$[$i+1]
done
echo "执行结果=$SUM"

Shell编程

read语句

#!/bin/bash
#案例1:读取控制台输入一个NUM1值
read -p "请输入一个数NUM1=" NUM1
echo "你输入的NUM1=$NUM1"

Shell编程

函数

#!/bin/bash
# 计算输入两个参数的和
#定义函数
function getSum() {

        SUM=$[$n1+$n2]
        echo "和是=$SUM"
}

#输入两个值
read -p "请输入一个数n1=" n1
read -p "请输入一个数n2=" n2

#调用自定义函数
getSum $n1 $n2

Shell编程

上一篇:vue-02


下一篇:Flink问题:解决 bin/config.sh: line 32: syntax error near unexpected token