1、shell脚本语言
实例1(变量):
vim myshell.sh
输入
echo "helloworld"
chmod 744 myshell.sh --执行权限
./myshell.sh --启动脚本
echo "PATH=$PATH" --输出系统变量
echo "user=$USER" --输出系统变量
a=100 --定义变量
echo "a=$a" --输出变量
readonly a=22 --定义静态变量
echo "a=$a" --输出变量
实例2(环境变量)
vim /etc/profile --配置文件
输入:
TOMCAT_HOME=/opt/tomcat
export TOMCAT_HOME --定义tomcat的环境变量
echo $TOMCAT_HOME --查看tomcat
实例3(位置参数)
vim myshell2.sh
输入:
echo "$0 $1 $2"
echo "$*"
echo "$@"
echo "参数个数=$#"
./myshell2.sh 30 60 --启动
输出结果:
./myshell2.sh 30 60
30 60
30 60
参数个数=2
实例4(预定义变量)
vim myshell3.sh
输入:
echo "当前的进程号=$$"
./myshell.sh &&
echo "最后的进程的编号$!"
echo "执行效果的值$?"
./myshell3.sh --启动
输出结果:
当前的进程号=21345
最后的进程的编号21346
执行效果的值0
实例5(shell运算符:)
vim myshell4.sh
RESULT1=$[(2+3)*4] --计算2加3乘以4
echo = "result1=$RESULT1"
./myshell4.sh --启动
实例6(shell条件判断:)
vim myshell5.sh
if [ 23 -gt 22 ]
then
echo "大于" --判断23是否大于22
fi
./myshell5.sh --启动
实例7(shell流程控制:)
如果输入大于等于60,及格;如果小于60,不及格
vim myshell5.sh
if [ $1 -ge 60 ]
then
echo "及格"
elif [ $1 -lt 60 ]
then
echo "不及格"
fi
./myshell6.sh 66 -- 启动,结果显示“及格”
./myshell6.sh 21 --启动,结果显示“不及格”
实例8(shell的for循环:)
#!/bin/bash
for i in "$@"
do
echo "数字是=$i"
done
./myshell7.sh 10 20 30 --启动
结果:
数字是=10
数字是=20
数字是=30
实例8(shell的for循环从1加到100:)
#!/bin/bash
SUM=0
for((i=1;i<=100;i++))
do
SUM=$[$SUM+$i]
done
echo "累计结果=$SUM"
./myshell8.sh --启动
结果:
累计结果=5050
实例9(while循环:)
命令行输一个数n,统计从1加到n值时多少
SUM=0
i=0
while [ $i -le $1 ] --$1代表输入的n
do
SUM=$[$SUM+$i]
i=$[$i+1]
done
echo "sum=$SUM"
实例10(read读取控制台输入)
读取控制台输入一个num值
read -p "请输入一个数num1=" NUM1
echo "你输入的值时numl=$NUM1"
./myshell10.sh --启动
结果:
请输入一个数num1=10
你输入的值时numl=10
实例11(函数)
返回text.txt文件名
basename /opt/shell/aaa/test.txt
结果:
test.txt
返回text.txt前面名
dirname /opt/shell/aaa/test.txt
结果:
/opt/shell/aaa
实例12(自定义函数)
计算两个输入参数的和
function getSum(){
SUM=$[$n1+$n2]
echo "和是=$SUM"
}
read -p "请输入第一个数n1" n1
read -p "请输入第二个数n2" n2
getSum $n1 $n2
./myshell13.sh --启动
实例13(综合案例)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8eadf028a38459a440b572aef422fefe.png#pic_center)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f81e6fc7f8e2d3c86a7f57f540c338bb.png#pic_center)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0cf79fa364f45014b2dc9c822bffefad.png#pic_center)