编程语句

流程控制
过程式编程语言:
循环执行

run-parts  批量运行目录里所有脚本


选择执行
if语句,if语句可嵌套:
1.单分支
if 判断条件;then
         条件为真的分支代码
fi

2.双分支
if 判断条件;then
         条件为真的分支代码
else
         条件为假的分支代码
fi

3.多分支
if 判断条件1;then
        条件为真的分支代码
elif 判断条件2;then
        条件为真的分支代码
elif 判断条件3;then
        条件为真的分支代码
else
        以上条件都为假的分支代码
fi
逐条进行判断,第一次遇为“真”条件时,执行其分支,而后结束整个if语句
 


case语句:
case 变量引用 in
PAT1)                             case支持glob风格的通配符:
     分支1                             *:任意长度任意字符
     ;;                                ?:任意单个字符
PAT2)                                  []:指定范围内的任意单个字符
     分支2                              a|b:a或b
     ;;
...
*)
     默认分支
esac


for循环:
第一种
for 变量名 in 列表;do
    循环体
done
依次将列表中的元素赋值给“变量名”;每次赋值后即执行一次循环体;直到列表中的元素耗尽,循环结束


第二种
for ((控制变量初始化;条件判断表达式;控制变量的修正表达式))
do
    循环体
done
控制变量初始化:仅在运行到循环代码段时执行一次
控制变量的修正表达式:每轮循环结束会先进行控制变量修正运算,而后再做条件判断
 


while循环:
while CONDITION;do
    循环体
done

CONDITION:循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再次做判断;条件“true”,
则执行一次循环;直到条件测试状态为“false”终止循环
因此:CONDITION一般应该有循环控制变量;而此变量的值会在循环体不断地被修正
进入条件:CONDITION为true
退出条件:CONDITION为false

while循环特殊用法:
while read line;do
    循环体
done < /data/FILE
依次读取/data/FILE文件中的每一行,且将行赋值给变量line


until循环:
until CONDITION;do
    循环体
done

进入条件:CONDITION为false
退出条件:CONDITION为true


循环控制:
continue和break命令
用于循环体中
continue [#]:提前结束第#层的本轮循环,而直接进入下一轮判断;最内层为第一层
while CONITION1;do
    CMD1
    ...
    if CONITION2;then
        continue
    fi
    CMDn
    ...
done

break [#]:提前结束第#层循环,最内层为第1层
while CONITION1;do
    CMD1
    ...
    if CONITION2;then
        break
    fi
    CMDn
    ...
done


shift [#]
用于将参量列表list左移指定次数,缺省为左移一次
参量列表list一旦移动,最左端的那个参数就从列表中删除。while循环遍历位置参量列表时,常用到shift
例子:
until [-z "$1"];do
    useradd "$1"
    echo "user $1 is creat"
    shift
done
echo "finsh"


创建死循环
while true;do
    循环体
done

unti false;do
    循环体
done


select循环菜单
select 变量名 in list
    do
        循环体命令
done
select循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准输出上,并显示PS3提示符,等待用户输入。
用户输入菜单列表的某个数字,执行相应的命令
用户输入被保存在内置变量REPLY中
select是个无限循环,因此要记住用break命令退出循环,或用exit命令终止脚本。也可以按ctrl+c退出循环
select经常和case联合使用
与for循环类似,可以省略in list,此时使用位置参量


信号捕捉trap:
trap '触发指令' 信号  
    自定义进程收到系统发出的指定信号后,将执行触发指令,而不会执行原操作
trap '' 信号
    忽略信号操作
trap '-' 信号
    恢复原信号的操作
trap -p 
    列出自定义信号操作
trap -l   =kill -l
    查看信号列表

15信号可以捕抓,9信号不能捕抓


例子:
1、判断年龄
read -p "Plesae input your age: " AGE
[[ "$AGE" =~ ^[0-9]+$ ]] || { echo Age is no digit; exit; }
if [ "$AGE" -lt 18 ] ;then
        echo "good study"
elif [ "$AGE" -ge 18 -a "$AGE" -lt 60 ] ;then
        echo "good work"
elif [ "$AGE" -ge 60 -a "$AGE" -lt 150 ] ;then
        echo "good luck"

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Arduino编程语句是一种基于C/C++语言的语言,用于编写Arduino控制器的程序。以下是一些常用的Arduino编程语句: 1. pinMode(pin, mode):设置引脚的输入输出模式,其中pin为引脚编号,mode为输入或输出模式。 2. digitalWrite(pin, value):向引脚写入数字值,其中pin为引脚编号,value为0或1。 3. digitalRead(pin):读取引脚上的数字值,其中pin为引脚编号。 4. analogWrite(pin, value):向引脚写入模拟值,其中pin为引脚编号,value为0到255之间的数字。 5. analogRead(pin):读取引脚上的模拟值,其中pin为引脚编号。 6. delay(ms):延迟一定时间,其中ms为毫秒数。 7. Serial.begin(baudrate):初始化串口通信,其中baudrate为波特率。 8. Serial.print(data):向串口发送数据,其中data可以是数字、字符或字符串。 9. Serial.read():读取串口接收到的数据。 10. if(condition){…}:条件语句,其中condition为判断条件,如果为真,则执行花括号中的代码。 11. for(initialization; condition; increment){…}:循环语句,其中initialization为循环变量初始化语句,condition为循环条件,increment为循环变量增量语句,花括号中的代码会被循环执行。 12. while(condition){…}:循环语句,其中condition为循环条件,只要条件为真,花括号中的代码会被不断执行。 以上是一些常用的Arduino编程语句,还有很多其他的语句可以用于实现不同的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金牌收租佬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值