判断
| [root@VM-12-15-centos home] |
| |
| a=100 |
| b=100 |
| if test $[a] -eq $[b] ; then echo "true"; fi |
| |
| |
| [root@VM-12-15-centos home] |
| true |
| [root@VM-12-15-centos home] |
| |
| a=100 |
| b=101 |
| if test $[a] -eq $[b] ; |
| then echo "true"; else echo "false"; fi |
| |
| |
| [root@VM-12-15-centos home] |
| false |
| [root@VM-12-15-centos home] |
| |
| a=10 |
| b=20 |
| if (( $a == $b )) |
| then |
| echo "a 等于 b" |
| elif (( $a > $b )) |
| then |
| echo "a 大于 b" |
| elif (( $a < $b )) |
| then |
| echo "a 小于 b" |
| else |
| echo "没有符合的条件" |
| fi |
| |
| |
| [root@VM-12-15-centos home] |
| a 小于 b |
循环
for循环
| [root@VM-12-15-centos home]# vi test.sh |
| # 编写如下 |
| for loop in 1 2 3 4 5 |
| do |
| echo "The value is: $loop" |
| done |
| |
| # 执行 |
| [root@VM-12-15-centos home]# sh test.sh |
| The value is: 1 |
| The value is: 2 |
| The value is: 3 |
| The value is: 4 |
| The value is: 5 |
| [root@VM-12-15-centos home]# vi test.sh |
| # 编写如下 |
| for str in This is a string |
| do |
| echo $str |
| done |
| |
| # 执行 |
| [root@VM-12-15-centos home]# sh test.sh |
| This |
| is |
| a |
| string |
while循环
| [root@VM-12-15-centos home]# vi test.sh |
| # 编写如下 |
| int=1 |
| while(( $int<=5 )) |
| do |
| echo $int |
| let "int++" |
| done |
| |
| # 执行 |
| [root@VM-12-15-centos home]# sh test.sh |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
无限循环
| |
| while : |
| do |
| echo "test1" |
| sleep 1 |
| done |
| |
| |
| while true |
| do |
| echo "test2" |
| sleep 1 |
| done |
| |
| |
| for (( ; ; )) |
| do |
| echo "test3" |
| sleep 1 |
| done |
until循环
| [root@VM-12-15-centos home] |
| |
| counter=0 |
| until [ $counter -ge 10 ] |
| do |
| echo "计数器: $counter" |
| counter=$((counter+1)) |
| done |
| |
| |
| [root@VM-12-15-centos home] |
| 计数器: 0 |
| 计数器: 1 |
| 计数器: 2 |
| 计数器: 3 |
| 计数器: 4 |
| 计数器: 5 |
| 计数器: 6 |
| 计数器: 7 |
| 计数器: 8 |
| 计数器: 9 |
| |
| |
| |
case esac
| [root@VM-12-15-centos home] |
| |
| echo '输入 1 到 4 之间的数字:' |
| echo '你输入的数字为:' |
| read aNum |
| case $aNum in |
| 1) echo '你选择了 1' |
| ;; |
| 2) echo '你选择了 2' |
| ;; |
| 3) echo '你选择了 3' |
| ;; |
| 4) echo '你选择了 4' |
| ;; |
| *) echo '你没有输入 1 到 4 之间的数字' |
| ;; |
| esac |
| |
| |
| [root@VM-12-15-centos home] |
| 输入 1 到 4 之间的数字: |
| 你输入的数字为: |
| 2 |
| 你选择了 2 |
跳出循环
| for i in {1..5} |
| do |
| if [ $i -eq 3 ]; then |
| break |
| fi |
| echo $i |
| done |
| |
| for i in {1..5} |
| do |
| if [ $i -eq 3 ]; then |
| continue |
| fi |
| echo $i |
| done |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2022-05-14 线程间通讯
2022-05-14 锁(十):StampedLock原理及使用
2022-05-14 锁(九):锁降级
2022-05-14 锁(八):ReentrantReadWriteLock之写锁源码实现
2022-05-14 锁(七):ReentrantReadWriteLock之读锁源码实现
2022-05-14 锁(六):AQS使用单一int值表示读写两种状态
2022-05-14 锁(五):读写锁