shell中常用的控制语句和脚本运行控制

昆仑通态屏幕制作(连载1)---接触篇 写在开始 背景:最近出了做QT、LORA和4G,还做了一个屏幕。以前做了一个迪文的串口屏幕,发现网上的教程很多,所以连载就不更新了,并且迪文屏幕的设置什么的比较简单,应该从网上都能找到对应的教程。而现在用的昆仑通态的屏幕属于嵌入式屏幕,至于为啥叫嵌入式,也不是很明白,反正就是需要用这个屏幕,嵌入式不嵌入式不重要了。重要的是能用,并且能实现串口屏幕不能实现的功能。所以选定昆仑通态的一款屏幕。 文章语言:我比较习惯用比较糙的语言介绍做的东西,有时候不太准备,但是为了方便理解,还请大家谅解。用... 阅读详情
一、语句
1、for语句
 for NUM in 1 2 3 					
 for NUM in {1..3} 								
 for NUM in `seq 1 3`  					前3个都是从1到3循环
 for NUM in `seq 1 2 10` 				从1到10,步长为2
 for NAME in westos linux 666	 
 for ((i=0;i<10;i++))
 for NAME in westos linux 666 			字符串的循环
 do
 done
2、while语句
while 条件 
do 
done
3、if语句
if 条件
then
	要执行的命令
elif 条件
then
	要执行的命令
...

else
	上边条件都不成立时执行的操作
fi	结束
4、case语句
case $1 in 
		westos|Westos|WESTOS)
		要执行的命令
		;;
		linux|LINUX|Linux)
		要执行的命令
		;;
		*)
		要执行的命令
esac
5、expect语句
yum install expect 			下载软件
expect 是自动应答命令用于交互式命令的自动执行 
spawn 是 expect 中的监控程序,其运行后会监控命令提出的 交互问题 
send 发送问题答案给交互命令 
"\r" 表示回车
exp_continue 标示当问题不存在时继续回答下面的问题 
expect eof 标示问题回答完毕退出 expect 环境 
interact 标示问题回答完毕留在交互界面 
set NAME [ lindex $argv n ] 定义变量

方法一:
<提问:>

vim ask.sh
	#!/bin/bash								  
	read -p "what's your name:" NAME	
	read -p "how old are:" AGE
	read -p "whice object you study:" OBJ
	read -p "are you happy:" FEEL
	echo $NAME is $AGE\'s old study $OBJ feel $FEEL

<应答:>

vim answer.exp
	#!/bin/exp
	spawn sh ask.sh			这里调用ask.sh
	expect "name"			搜索name关键字
	send "guo\r"			提交应答
	expect "old"
	send "32\r"
	expect "object"
	send "linux\r"
	expect "happy"
	send "happy"
	interact				保持
	#expect eof				结束	

<结果:>
interace 回车之后有结果
在这里插入图片描述
expect eof 回车之后不会有结果
在这里插入图片描述
方法二:
<提问>提问和方法一保持一致
<应答>

vim answer.exp
#!/bin/expect
	set timeout 5
	set NAME [ lindex $argv 0 ]
	set AGE [ lindex $argv 1 ]
	set OBJ [ lindex $argv 2 ]
	set FEEL [ lindex $argv 3 ]
	spawn sh ask.sh
	expect {
	        "name" { send "$NAME\r";exp_continue}
	        "old" { send "$AGE\r";exp_continue}
	        "object" { send "$OBJ\r";exp_continue}
	        "happy" { send "$FEEL\r"}
	}
	expect eof

<测试>e

expect answer.exp lee 21 linux happy

<结果>
在这里插入图片描述

二、语句控制

exit n 脚本退出,退出值为 n
break 退出当前循环
continue 提前结束循环内部的命令,但不终止循环

GNSS - PPP软件 - GAMP 在VS2019/2022下完成调试、跑通程序(超详细!) WIN32;_DEBUG;_CONSOLE;O_WARNINGS;ENAGLO;ENACMP;ENAGAL;ENAQZS;NFREQ=3。 阅读详情

相关推荐

若依开源框架(分离版)在人大金仓数据库下使用

对于甲方业务特殊要求,使用国产化数据库人大金仓,作为项目主要存储。这里以若依开源框架整合人大金仓为例,演示如何在真实项目中引入人大金仓。

🐱喵测实验室 5942

事务控制和锁定语句

  MySQL 支持对 MyISAM 和 MEMORY 存储引擎的表进行表级锁定,对 BDB 存储引擎的表进行页级锁定,对 InnoDB 存储引擎的表进行行级锁定。默认情况下,表锁和行锁都是自动获得的,不需要额外的命令。但是在有的情况下,用户需要明确地进行锁表或者进行事务的控制,以便确保整个事务的完整性,这样就需要使用事务控制和锁定语句来完成。一、LOCK TABLE 和 UNLOCK TABLE...

小猛同学的博客 625

深入解析DMR协议中的4-CPFSK调制技术与实现

本文深入解析了DMR协议中采用的4-CPFSK调制技术。该技术凭借其连续相位、恒包络的特性,在有限的12.5kHz信道带宽内实现了稳健的通信,有效对抗干扰并提升功放效率,是DMR数字对讲机清晰、稳定通信的核心保障。文章详细阐述了其原理、实现细节及在协议栈中的协同作用。

weixin_29306875的博客 229

shell控制结构语句

test -f <filename> if test -f fred.c then ... fi你还可以写成下面这样: if [-f fred.c] then ... fi 注意[ 符号和被检查打条件之间留出空格, if 如果和放在同一行,要用分号将test语句和then分隔开. if [ -f fred.c ]; thentest命令后面跟的条件分为三种,字符串比较,算数比较,文件有关的条件测试1

gacmy的专栏 710

别再瞎猜了!Fluent瞬态计算时间步长到底设多少?一个公式+实战案例搞定

本文详细解析了Fluent瞬态计算中时间步长的设置方法,通过黄金公式和实战案例,帮助工程师准确确定时间步长,避免计算发散和资源浪费。文章还介绍了动态调整策略和典型工程场景的参数优化,提升仿真效率和精度。

weixin_42638178的博客 426

4.无限共轭距柯克物镜设计——zemax学习笔记

无限共轭cooker物镜

fly_daerm的博客 1596

shell脚本实现每秒执行一次任务

1.编写shell脚本 vi /tmp/ceshi.sh !/bin/sh while [ true ]; do /bin/sleep 1 /bin/date &gt;&gt;/tmp/date.txt done 2.后台运行 nohup /tmp/ceshi.sh 2&gt;&amp;1 &gt; /dev/null &amp; 3.确认每秒执行 tail -f /tm...

yinhuaiya的专栏 2万+

从零到一:手把手教你构建自定义ReaxFF力场参数

本文手把手教你从零构建自定义ReaxFF力场参数,详解反应力场的动态键序机制与参数化逻辑。通过LAMMPS实战演示,涵盖训练数据准备、参数优化算法选择及性能优化技巧,助力研究人员精准模拟化学反应过程。适用于材料科学、催化研究等领域,特别适合已掌握分子动力学基础的进阶用户提升力场开发能力。

weixin_28365523的博客 1057

脚本下运行MySql语句

一、首先,废话少说,来个win 下例子(linux例子也一样就不举例了) bat文件 pause mysql -uroot -p123 -e "show databases;" pause 效果(我这里是免账号密码登录,正常下是按照上面格式语句): 从这里可以看出,参数-e是执行sql语句的命令,执行玩之后就退出,注意加个pause,不然会自动退出。 二、其次,如果想要s

残缺的歌的专栏 800

全志A527 T527 android13支持usb摄像头

我们发现usb摄像头在A527 android13上面并不能正常使用,需要支持相关的摄像头。

zhutoubenben的专栏 964

SAP ABAP 实用小技巧合集 (一)

本合集包含了笔者从事 ABAP 开发 17 年以来积累的小技巧。持续更新。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3221

基于linux下的shell 常用的控制语句及脚本运行控制

(一)for 语句: 循环定义变量,依次执行,批量处理; 有以下几种格式: for NUM in 1 2 3 for NUM in {1..3} for NUM in {a..f} for NUM in `seq 1 3 ` for NUM in `seq 1 2 10` //可以设定步长;2就是步长,输出为 1 3 5 还可以是计算的方式(和C语言类似) for((A=1;...

wangkana的博客 387

[Dify实战] 做企业内部助手时,最容易被低估的不是提示词,而是权限、状态同步和反馈回写

这篇文章围绕“做企业内部助手时”这个具体问题展开,很多团队做企业内部助手时,最先优化的是提示词,但真正决定系统能不能上线长期跑下去的,往往是权限边界、状态同步和反馈回写闭环。正文会结合Dify拆解节点设计、配置建议和测试样例,补充关键步骤、检查点和常见坑,帮助读者判断第一版该怎么落地,并把经验复用到自己的真实业务场景中。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 68

shell中常用的控制语句及脚本运行控制

shell中常用的控制语句及脚本运行控制学习目标:for 语句while 语句if 语句case 语句expect 语句exit break continueexit直接退出当前脚本break仅仅退出本次循环continue 退出本次循环进行下一次循环shell脚本中没有return命令1.for语句: for NUM in {1..3} for NUM in `seq 1 3`或者for NU...

dreamer_xixixi的博客 2187

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

shell 中常用的控制语句 及脚本运行控制

shell 中常用的控制语句及脚本运行控制 学习目标 for 语句 while 语句 if 语句 case 语句 expect 语句 exit , break , continue

wltxiyou的博客 301

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

shell 中常用的控制语句及脚本运行控制

1.for语句 第一种: for i in {1..10} do echo $i done 第二种: a=1 b=10 for i in `seq $a $b` do echo $i done 第三种: a=1 b=10 for i in `seq $a 2 $b` ##步长为2 do echo $i done 第四种: f...

清风 603

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

shell中常用的语句及脚本运行控制

文章目录for数字性循环预备知识:关于shell中(( ))的用法字符性循环路径查找解决实际问题whilewhile示例:while实际问题if示例:case示例:exit,break,continue示例continuebreakexit for shell中for循环的使用主要分为三类:数字性循环、字符性循环、路径查找 数字性循环 预备知识:关于shell中(( ))的用法 语法: ((表达式...

weixin_38044888的博客 585

Linux系统shell中常用的控制语句及脚本运行控制

for语句 for NUM in 1 2 3 for NUM in {1..3} for NUM in `seq 1 3`或者 for NUM in `seq 1 2 10` do done for语句示例 for NAME in westos tom linux do echo $NAME done 倒计时10秒 while语句 while 条件 do done 倒...

monster_warm的博客 443

linux中常用的shell脚本语言,Linux系统shell中常用的控制语句及脚本运行控制

for语句for NUM in 1 2 3 ##NUM是变量,1,2,3是变量的值for NUM in {1..3} ##变量的值从1到3,{3..1}变量的值从大到小for NUM in `seq 1 3` ##变量的值从1到3,不可以从大到小for NUM in `seq 1 2 10` ##变量的值为1-10中的奇数(1,3,5,7,9)doecho $NUM ...

weixin_33971453的博客 216

linux系统中的shell中的常用语句 || shell脚本运行控制 || shell运算

脚本的编写 这里写代码片

hiro 599

【shell脚本】一文带你打通关shell脚本命令到自动化应用

shell英文翻译过来是外壳的意思,作为计算机语言来理解可以认为它是操作系统的外壳。shell是用C语言编写的程序,它连接了用户和Linux内核,从而让用户能够更加便捷、高效、安全的使用linux内核,我们可以通过shell命令来操作和控制操作系统,比如Linux中的shell命令就包括ls、cd、pwd等等。也可以这样认为,linux中的shell就是linux内核的一个外层保护工具,并负责完成用户与内核之间的交互。Shell其实是一个命令解释器。

weixin_51360020的博客 1914

shell脚本

shell脚本一、shell的概念二、shell脚本的规则1、变量的规则2、脚本的格式二级目录三级目录 一、shell的概念 Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执 行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其 他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。 二、shell脚本的规则 1、变量的规则 定义变量规则: 变量名=值 shell定义变量的规则:

黑猫猫的博客 207
上一篇: shell三剑客
下一篇: shell中变量
SS_CC_Go
博客等级 码龄9年 16粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值