Bash中的循环命令用法详解
106 浏览量
更新于2024-08-31
收藏 76KB PDF 举报
Bash 中的循环命令用法原理
Bash 中的循环命令有四种:for 循环、while 循环、until 循环和 select 循环。这些循环命令的主要作用是重复执行一个命令或者一组命令,直到完成事先设置好的次数或者达到某种条件。
**for 循环**
for 循环命令用于根据项目清单确定的次数执行命令。for 命令后面紧跟着用户自定义变量-关键字 in,然后是一个单词清单。第一次执行循环,单词列表中的第一个单词被赋值给变量。一旦单词被赋值给赋值变量,就进入循环体,执行关键字 do 和 done 之间的命令。下一次的循环,第二个单词被赋值给变量,如此继续。循环体由 do 开始到 done 结束。当清单中的所有单词都轮换过一次以后,循环结束,程序控制继续 done 后面的语句。
for 循环的格式如下:
```
for variable in word_list
do
commands
done
```
如果需要将 for 循环写成一行,则单词列表和 do 之间需要用分号来分隔:
```
for variable in word_list; do commands; done
```
示例一:
```
#!/usr/bin/bash
for name in Tom Dick Harry Joe
do
echo "Hi, $name"
done
echo "Out of loop."
```
示例二:
```
#!/usr/bin/bash
for person in $(cat myfile)
do
mail $person < letter
echo "$person was sent a letter."
done
echo "The letter has been sent."
```
示例三:
```
#!/usr/bin/bash
dir=/home/tony/backupscripts
for file in backup{1..5}
do
if [ -f $file ] # 检查当前目录下该文件是否真实存在
then
cp "$file" "$dir/$file.bak"
echo "The $file is backed up in $dir"
fi
done
```
在 for 循环中,@ 和 * 变量的使用方式不同。在不使用双引号的时候是一样的。当使用引号的时候,* 的值是一个字符串,而 @ 的值是一组分开的单词。
**while 循环**
while 循环命令用于根据条件执行命令。while 命令后面紧跟着条件表达式,如果条件表达式为真,则执行循环体。循环体由 do 开始到 done 结束。当条件表达式为假时,循环结束,程序控制继续 done 后面的语句。
**until 循环**
until 循环命令用于根据条件执行命令。until 命令后面紧跟着条件表达式,如果条件表达式为假,则执行循环体。循环体由 do 开始到 done 结束。当条件表达式为真时,循环结束,程序控制继续 done 后面的语句。
**select 循环**
select 循环命令用于根据用户输入执行命令。select 命令后面紧跟着变量名和选项列表。用户输入的值将被赋值给变量,然后执行循环体。循环体由 do 开始到 done 结束。
Bash 中的循环命令为用户提供了灵活的控制流程,能够根据不同的情况执行不同的命令。
2012-11-12 上传
2023-05-30 上传
2019-08-02 上传
2010-05-02 上传
2016-12-05 上传
2009-07-28 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38548434
- 粉丝: 3
- 资源: 945
最新资源
- WordPress作为新闻管理面板的实现指南
- NPC_Generator:使用Ruby打造的游戏角色生成器
- MATLAB实现变邻域搜索算法源码解析
- 探索C++并行编程:使用INTEL TBB的项目实践
- 玫枫跟打器:网页版五笔打字工具,提升macOS打字效率
- 萨尔塔·阿萨尔·希塔斯:SATINDER项目解析
- 掌握变邻域搜索算法:MATLAB代码实践
- saaraansh: 简化法律文档,打破语言障碍的智能应用
- 探索牛角交友盲盒系统:PHP开源交友平台的新选择
- 探索Nullfactory-SSRSExtensions: 强化SQL Server报告服务
- Lotide:一套JavaScript实用工具库的深度解析
- 利用Aurelia 2脚手架搭建新项目的快速指南
- 变邻域搜索算法Matlab实现教程
- 实战指南:构建高效ES+Redis+MySQL架构解决方案
- GitHub Pages入门模板快速启动指南
- NeonClock遗产版:包名更迭与应用更新