linux bash and,linux bash shell中for的用法and示例

关于linux bash shell中的for语句

在linux中shell是必不可少的一部分,但是在bash shell中有while,for,until等循环命令,今天就介绍一下关于for的一些用法。文中任何错误希望大佬们一一指出,不胜感激。

bash shell中提供了for命令,用于创建通过一系列值重复的循环,每次重复使用系列中的一个值执行一个定义的命令集。

for语句的基本格式如下:

for………in list

do

commands

done

在参数list中提供一系列用于迭代(上一个输出的结果,这一句用来输入)的值。指定列表中的值有几种不同的方法。

一.读取列表中的值。

for命令的最基本使用方法是通过在for命令中定义一列值来迭代。如下图↓

0818b9ca8b590ca3270a3433284dd417.png

执行后如图赋予t1的值一一被输出出来!

0818b9ca8b590ca3270a3433284dd417.png

若在列表中的值进行迭代时,将其他值赋予该变量还可以继续使用,迭代的值是最后一个值。

0818b9ca8b590ca3270a3433284dd417.png

输出结果如下:

0818b9ca8b590ca3270a3433284dd417.png

二.读取列表中的复杂值。

若在shell中有特殊符号并且要前后一起输出(下图)该怎么办呢?

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

竟然无法执行,若遇到\ ‘ , .等特殊符号时,可以使用反斜杠\来转义特殊字符。或者用双引号来定义使用上图中的单引号

0818b9ca8b590ca3270a3433284dd417.png

若单词之间有空格必须一起输出必须要有引号包围。

三.变量读取列表

用for语句来实现 从一个列表中读取变量值,通过列表迭代

0818b9ca8b590ca3270a3433284dd417.png

执行结果如下图

0818b9ca8b590ca3270a3433284dd417.png

四.读取命令中的值

for语句中可以调用不是本文件中的值,即其他文件,把该文件中的值调用赋予一个变量在调用该变量就可以在本文件使用。如下图

0818b9ca8b590ca3270a3433284dd417.png

这是我创建的一个名字为can的文件

0818b9ca8b590ca3270a3433284dd417.png

在t4中把can中的值赋予file之后在for中调用也可以输出出来   如下图:

0818b9ca8b590ca3270a3433284dd417.png

五.改编字段分隔符

此内容博主刚了解 ,错误内容还望指出,谢谢大佬们。

字段分隔符一共有三:空格,制表符(指Tab),换行符(enter或者回车)在shell中若是出现回车,空格等脚本会认为是在换行或者在启动新的数据段,若处理包含空格的文件名时就会出现干扰。列出如下图:我创建了两个文件  (can c)包含空格的文件名

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

当我在脚本中调用can c这个文件时  即使加上双引号还是输出了can中的代码和输出内容如图:(我把IFS注释掉了)

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

但是,当我把注释取消即可正常输出can c的内容如下图:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

在文件中有空格也是忽略直接输出

0818b9ca8b590ca3270a3433284dd417.png

没有IFS时

0818b9ca8b590ca3270a3433284dd417.png

加上IFS的注释后

0818b9ca8b590ca3270a3433284dd417.png

把can文件中的每行空格都当成分隔符不输出

六.使用通配符读取目录

for不仅可以读取文件还可以用通配符读取目录,尤其是不知道文件中的文件名时。本人在根下创建了一个app目录在里面写了几个脚本和一个目录怎么用for来显示出来呢 ?

当前路径

0818b9ca8b590ca3270a3433284dd417.png

app下的文件数量种类

0818b9ca8b590ca3270a3433284dd417.png

脚本如下

0818b9ca8b590ca3270a3433284dd417.png

把目录文件赋予file在通过if then echo分类输出出来

执行结果如下图:

0818b9ca8b590ca3270a3433284dd417.png

for的用法一定不止如此

以上仅仅就是我所知的for用法中的冰山一角,欢迎补充。

一定不吝赐教!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac利用vscode运行c语言程序,Mac下使用VScode编译配置C/C++程序详细图文教程

在mac上有时候需要编写一些c 或者 c的代码,如果使用 xcode,有时候就显得很笨重,而且运行起来很不方便。而微软提供了一个跨平台的编辑器visual studio code ,这个编辑器很轻量级,而且插件超多,你几乎可以在这个编辑器里…

c语言简答程序源代码,C语言简答题答案

C语言变量的存储特性可分四类:自动型(auto)、静态型(static)、外部型(extern)和寄存器型(register)。Auto的特点:1. [auto] 类型标识符 变量列表;常常可以缺省auto。2. 函数内定义的局部变量、函数的形式参数和函数体内分程序的局部变量。3. …

c语言中 exit的标准是什么,C语言中exit();肿么用?

表示 关闭所有文件,终止正在执行的进程。exit(1)表示异常退出.这个1是返回给操作系统的。exit(x)(x不为0)都表示异常退出exit(0)表示正常退出exit()的参数会被传递给一些操作系统,包括UNIX,Linux,和MS DOS,以供其他程序使用。程序例子&#x…

五邑大学c语言期末考试题,五邑大学 c语言试卷.doc

五邑大学 c语言试卷.doc下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。2.下载的文档,不会出现我们的网址水印。3、该文档所得收入(下载内容预览)归上传者、原创作者&#x…

linux资源隔离是哪些,【转载】Linux cgroup资源隔离各个击破之

Linux cgroup 有两个子系统支持CPU隔离。一个是cpu子系统,另一个是cpuset子系统。cpu子系统根据进程设置的调度属性,选择对应的CPU资源调度方法.1. 完全公平调度 Completely Fair Scheduler (CFS)原理详见CFS用于处理以下几种进程调度策略SCHED_OTHERSCH…

14秋《c语言程序设计》作业2,《C语言程序设计》 作业参考答案.doc

作业参考答案一、单项选择1. B    2. D    3. B    4. D    5. B    6. B7. C    8. D    9. D 10.C 11.B 12&#…

华中科技大学c语言期末考试题,华中科技大学C语言期末考库剖析.docx

华中科技大学C语言期末考试题库试题及答案汇总1.设int a12,则执行完语句aa-a*a后,a的值是__D____。A、552 B、264 C、144 D、-264知识点:算术表达式2.以下变量x、y、z均为double类型且已正确赋值,不能正确表…

网页版bpc电波对时_科普向:无需联网却能自动对时的钟表

有一种神秘的钟表,它能够自动对时,却不需要联网,它十分准时,和传说中的的原子钟的误差也仅有几毫秒,它十分小众,却也随处可见,它就是电波表。今天猫头我就跟大家说说这个电波表。首先什么是电波…

动感灯箱制作流程培训_2000多年的灯箱发展史,你知道多少?

灯箱作为日常广告标识业务的重要板块,相信每个标识人都已经非常熟悉了,国内标识人也经常去学习相关新工艺新案例,但其实很多人不知道世界上最早的灯箱可能是中国人制作的哦~接下来就带大家一起揭开灯箱的前世今生,并详细盘点一下如…

c语言程序设计基础1千克,c语言学习知识编程经典编辑题汇总整编.doc

c语言学习知识编程经典编辑题汇总整编.doc - C语言编程基础习题汇总1.设计一个由键盘输入三个整数,求这三个数的平均数的程序。2.编写一个程序,用于水果店售货员结账。已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,…

cp 过程中目录突然挂了_怎么解决管材激光切割机切管过程中出现的过烧及挂渣...

近年来,随着激光切割机的发展,不仅被用于切割平面板材,而且被应用于切割管材,我们称之为“管材激光切割机”。那么管材激光切割机用于切割管材时是否会出现问题呢,是的,确实出现了问题。由于管材的封闭性&a…

C语言填空题10道,3道C语言填空题,谁帮忙做下,谢谢

3道C语言填空题,谁帮忙做下,谢谢0功能:输出两个整数中大的那个数,两个整数由键盘输入。#include #include int main(){int a,b,*p1,*p2;p1(int *)malloc(sizeof(int));p2(int*)malloc(sizeof(int));scanf("%d%d",__(1)_…

大学计算机课程考试系统C语言题库,《大学计算机基础》考试题库(含答案).doc...

《大学计算机基础》试题题库及答案一、单选题练习 1.完整的计算机系统由( C )组成。A.运算器、控制器、存储器、输入设备和输出设备B.主机和外部设备C.硬件系统和软件系统D.主机箱、显示器、键盘、鼠标、打印机2&…

识别产品外观的合格软件_你还在犹豫?外观检测设备使用已成主流!

今天跟大伙聊一聊关于各种瓶子的外观检测/视觉检测。我们都知道,不管是瓶子、杯子还是其他的,在生产过程种对产品的质量检测这种有着超高重复性动作与随机应变能力的工作,在以前的工业时代,完全依靠人“人眼识别”人工检测来完成&…

go 调用c语言,golang之调用C语言代码

此篇教程只是简单的描述怎么使用以及遇到的一些错误我写的实例,C语言与golang在同一个文件中,并没有分开。我这里演示两个例子:⑴ 调用C语言函数打印“Hello World”#include void PrintHello(){ printf("Hello World!\n");}c代…

jsessionid每次请求都在变_为什么每次沟通都变争吵,学会这4条沟通原则,解决90%的沟通问题...

沟通重要吗?太重要了,可以这么说,我们在生活中遇到的绝大部分问题其实都是沟通问题。你的身边有这样的对话吗?老婆对丈夫说:“老娘当初瞎眼了才看上你,成天就知道打牌“妈妈对儿子说:”你看看人…

c语言long说明符,C语言-类型说明符 long,short,unsigned,signed

类型说明符基本概念C 语言提供了一下四种说明符,四个都属于关键字;short短型等价于 short intlong 长型 等价于 long intsigned 有符号型unsigned 无符号型这些说明符一般就是用来修饰 int 类型的,所以在使用时可以省略 intshort和 longshort 和 long 可以提供不同长度的整型数…

常见食物营养成分表图_营养成分表,你会看么?

中国居民对于营养标签的认知较低。一项针对中国五城市居民的调查显示,仅有40.54%的消费者会阅读营养标签。恭喜你成为其中之一。这是什么数据?营养成分表通常有三项主要内容,从左到右依次为营养素的名称、营养素的含量以及营养素参考值&#…

求年龄和的c语言数据类型,第1章 c语言与数据类型.ppt

第1章 c语言与数据类型转义字符 转义字符 功能描述 举例 \n 换行,将当前位置移到下一行开头 printf("请输入你的年龄\n"); \t 水平制表(跳到下一个tab位置) printf("\n姓名\t年龄\t地址\n"); \ 单引号(撇号)字符? printf("字符\a\的ASCII…

mysql安装mac 压缩包_MAC mysql安装及设置

首先,去http://www.mysql.com/downloads/mysql下载mysql-5.1.44-osx10.6-x86_64.dmg,然后,双击该文件,安装映像中的两个安装包文件。a. mysql-5.1.44-osx10.6-x86_64.pkg(mysql标准版安装)b. MySQLStartupItem.pkg(mysql启动项目)…