什么是低代码?低代码开发平台靠谱吗?低代码平台优缺点
755
2022-05-28
任务1:shell脚本语言
linux下常用的脚本语言。
变量、数组、for、while、函数、运算符、if、……..
[root@wbyq /]# ls /bin/sh -l
lrwxrwxrwx. 1 root root 4 12月 27 2016 /bin/sh -> bash
变量定义使用
#!/bin/bash
ABC=12345
echo "ABC=$ABC"
echo "ABC=${ABC}"
Shell脚本传递参数 类似于C语言的argv argc
#!/bin/bash
echo "cnt=$#"
echo "[0]=
echo "[0]=$0"
"echo "[1]="
echo "[2]="
echo "[3]="
if语句语法规则
#!/bin/bash
a=10
b=20
if [ ${a} -eq ${b} ] #判断两个数是否相等,也可以使用 ==
then
echo "123"
else
echo "456"
fi
#!/bin/bash
if [ 100 == 120 -o 50 != 40 ] && [ 100 == 200 ]
then
echo "条件为真"
else
echo "条件为假"
fi
#一个[]表示一个完整的表达式
#-a表示与 -o表示或 只能用于单个表达式之内
#多个表达式之间可以使用&&和 || 嵌套连接
#!/bin/bash
#嵌套if语句示例
if [ 100 == 120 -o 50 != 40 ] && [ 100 == 200 ]
then
if [ 100 == 120 -o 50 != 40 ] && [ 100 == 200 ]
then
echo "条件为真"
else
echo "条件为假"
fi
else
if [ 100 == 120 -o 50 != 40 ] && [ 100 == 200 ]
then
echo "条件为真"
else
echo "条件为假"
fi
fi
计算字符串长度
#!/bin/bash
string="abcd"
echo ${#string} #输出 4
数组语法
#!/bin/bash
buff=(1 2 3 4 5 6 7 8 9)
buff[0]=88
buff[1]=99
buff[100]=100
buff[88]=55
echo "buff[0]=${buff[0]}"
echo "buff[1]=${buff[1]}"
echo "buff[2]=${buff[2]}"
echo "buff[100]=${buff[100]}"
echo用法示例
#!/bin/bash
DATA=12345
echo "DATA=${DATA}"
printf语句格式
#!/bin/bash
printf "%d\n" 1234
printf "%s\n" "45678"
从键盘上读取数据
#!/bin/bash
echo -n "输入数据:" #参数-n 的作用是不换行, echo 默认是换行
read data #从键盘输入
echo "你输入的数据为: $data" #显示信息
Case多分支选择语句
#!/bin/bash
echo "输入一个 1 到 4 之间的数字"
read aNum
case ${aNum} in
1) echo "你选择 1"
;;
2) echo "你选择 2"
;;
3) echo "你选择 3"
;;
4) echo "你选择 4"
;;
5) echo "你选择 4"
;;
*) echo "你不选择一个数字不在 1 到 4 之间"
;;
esac
for循环
(1)基本用法
#!/bin/bash
for loop in 1 2 3 4 5 6 7 8 9
do
echo "loop=${loop}"
done
(2) 嵌套示例
#!/bin/bash
for loop in 1 2 3
do
for loop in 1 2 3
do
echo "loop=${loop}"
done
done
(3)输出位置路径
#!/bin/bash
for loop in /test/*.sh
do
echo "file_name=${loop}"
done
break关键字
#!/bin/bash
for loop in 1 2 3
do
for loop in 1 2 3
do
echo "loop=${loop}"
break 2 #break后面可以加参数,选择跳出的循环层次
done
done
while循环示例
(1)示例1
#!/bin/bash
while : #无限循环条件
do
sleep 1 #休眠1秒钟
echo "123"
break 1 #跳出指定层次的循环
done
(2)示例2
#!/bin/bash
COUNTER=0
while [ ${COUNTER} -lt 5 ]
do
COUNTER=`expr ${COUNTER} + 1`
echo "COUNTER=${COUNTER}"
done
COUNTER=0
while [ ${COUNTER} != 5 ]
do
COUNTER=`expr ${COUNTER} + 1`
echo "COUNTER=${COUNTER}"
done
(2)示例3
#!/bin/bash
while read DATA
do
echo "DATA=${DATA}"
done
(3)示例4
#!/bin/bash
while read DATA
do
echo "DATA=${DATA}"
continue #跳出当前这一次循环
echo "1234556"
done
函数
(1) 基本示例
#!/bin/bash
#函数的编写格式
func()
{
echo "函数调用调用成功!"
}
func #调用函数不需要加()
(2) 嵌套调用
#!/bin/bash
#函数的编写格式
func1()
{
func2
}
func2()
{
echo "函数调用调用成功!"
}
func1 #调用函数不需要加()
(3) 函数的返回值
#!/bin/bash
#函数的编写格式
func()
{
return 255 #最大范围是255
}
func #调用函数不需要加
echo $?
(4) 函数的形参
#!/bin/bash
#函数的编写格式
func()
{
echo "$1"
echo "$2"
echo "$3"
echo "$4"
return 255 #函数返回值只能是整数,最好不要返回路径。
}
func 123 456 789 dfvbfdjvbgdf
echo $?
调用外部脚本
#!/bin/bash
. 123.sh
source 123.sh
echo "a=${a}"
echo "b=${b}"
echo "c=${c}"
Shell脚本练习
1. 从键盘上输入年份,判断平年闰年。
#!/bin/bash echo -n "请输入年份:" # -n 不换行 read year #从键盘上读取年份 #能被400整除 ,能被4整除不能被100整除 if [ `expr $year % 400` == 0 ] || [ `expr $year % 4` == 0 -a `expr $year % 100` != 0 ] then echo "$year是闰年" else echo "$year是平年" fi
2. 输出9*9乘法口诀表。
3. 冒泡排序。
4. 使用函数封装判断平年闰年
5. 输出所有水仙花数(个位+十位+百位的立方和=本身)例如: 1*1*1+2*2*2+3*3*3=123
6. 判断100~200之间所有的素数
7. 写一个脚本
(1). 切换工作目录至指定目录
(2). 依次向指定目录中的每个文件或子目录问好,形如:
(提示:for FILE in /var/*;或for FILE in `ls /var`;)
Hello,log
(3).统计/var目录下共有多个文件,并显示出来
8. 写一个脚本, 通过ping命令测试192.168.x.0到192.168.x.254之间的所有主机是否在线
如果在线,就显示“在线”
如果不在线,就显示“离线”
注意:ping -c1 -w1 中-c1是指ping的次数,-w是指执行的最后期限,也就是执行的时间,单位为秒
9. 模拟linnux登录shell
就是输入用户名密码判断是否正确。
10. 查找指定目录下最大的文件,然后输出
11. 将指定目录下的所有指定后缀文件,按照统一的方式命名。
Linux Shell 汇编语言
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。