Shell编程
2021/11/7 7:10:16
本文主要是介绍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" !
2.参数变量
#!/bin/bash echo "0=$0 1=$1 2=$2" echo "所有的参数=$*" echo "$@" echo "参数的个数=$#"
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"
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程序,如果输入的参数,大于等于60,则输出 "及格了",如果小于60,则输出 "不及格" if [ $1 -ge 60 ] then echo "及格了" elif [ $1 -lt 60 ] then echo "不及格" fi
case语句
#!/bin/bash #案例1 :当命令行参数是 1 时,输出 "周一", 是2 时,就输出"周二", 其它情况输出 "other" case $1 in "1") echo "周一" ;; "2") echo "周二" ;; *) echo "other..." ;; esac
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
#!/bin/bash #从1加到n SUM=0; for(( i=1; i<= $1; ++i)) do SUM=$[$SUM+$i] done echo "总和SUM=$SUM"
while语句
#!/bin/bash #从1加到n SUM=0 i=0 while [ $i -le $1 ] do SUM=$[$SUM+$i] i=$[$i+1] done echo "执行结果=$SUM"
read语句
#!/bin/bash #案例1:读取控制台输入一个NUM1值 read -p "请输入一个数NUM1=" NUM1 echo "你输入的NUM1=$NUM1"
函数
#!/bin/bash # 计算输入两个参数的和 #定义函数 function getSum() { SUM=$[$n1+$n2] echo "和是=$SUM" } #输入两个值 read -p "请输入一个数n1=" n1 read -p "请输入一个数n2=" n2 #调用自定义函数 getSum $n1 $n2
这篇关于Shell编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01后台管理开发学习:新手入门指南
- 2024-11-01后台管理系统开发学习:新手入门教程
- 2024-11-01后台开发学习:从入门到实践的简单教程
- 2024-11-01后台综合解决方案学习:从入门到初级实战教程
- 2024-11-01接口模块封装学习入门教程
- 2024-11-01请求动作封装学习:新手入门教程
- 2024-11-01登录鉴权入门:新手必读指南
- 2024-11-01动态面包屑入门:轻松掌握导航设计技巧
- 2024-11-01动态权限入门:新手必读指南
- 2024-11-01动态主题处理入门:新手必读指南