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

for命令基本格式为:

for var in list

do

commands

done

1.读取列表中的值

#!/bin/bash

#basic for command

for test in a b c d e f

do

echo The next state is $test

done

每次for命令通过提供的值列表进行矢代时,它将列表中想下个值赋值给变量

[root@localhost ~]# ./test1.sh

The next state is a

The next state is b

The next state is c

The next state is d

The next state is e

The next state is f

2.读取列表中的复杂值

#!/bin/bash

for test in i don\'t know

do

echo "Word:$test"

done

注意:分号(')这里需要加斜杠(\)进行转义

[root@localhost ~]# ./test2.sh

Word:i

Word:don't

Word:know

3.从变量读取列表

#!/bin/bash

list="a b c d "

for state in $list

do

echo "Have you ever visited $state?"

done

[root@localhost ~]# ./test4.sh

Have you ever visited a?

Have you ever visited b?

Have you ever visited c?

Have you ever visited d?

4.读取命令中的值

生成列表中使用的另一个方法是使用命令输出,可以使用反引号字符来执行生成输出的任何命令,然后在for命令中使用命令输出:

新建一个states文件,并且添加数据内容

[root@localhost ~]# cat states

ak

bn

cd

dr

#!/bin/bash

file="states"

for state in `cat $file`

do

echo "Visit beautiful $state"

done

[root@localhost ~]# ./test5.sh

Visit beautiful ak

Visit beautiful bn

Visit beautiful cd

Visit beautiful dr

5.改变字段分隔符

内部字段分隔符(IFS),bash shell将以下字符看作是字段分隔符

空格

制表符

换行符

#!/bin/bash

file="states"

IFS=$'\n'

for state in `cat $file`

do

echo "Visit beautiful $state"

done

IFS=$'\n'通知bash shell在数值中忽略空格和制表符

6.使用通配符读取目录

#!/bin/bash

for file in /home/l*

do

if [ -d "$file" ]

then

echo "$file is a directory"

elif [ -f "$file" ]

then

echo "$file is a file"

fi

done

[root@localhost ~]# ./test6.sh

/home/ley is a directory

for命令失代/home/ley列表的结果,然后用test命令查看是目录(-d)还是文件(-f)

for命令linux,linux中的for命令相关推荐

  1. linux shell 中的sleep命令

    开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...

  2. linux 杀掉php,Linux_在Linux系统中使用xkill命令杀掉未响应的进程,我们如何在Linux中杀掉一个资 - phpStudy...

    在Linux系统中使用xkill命令杀掉未响应的进程 我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令. 说的更明白一点,我们可以找到某个资源(比如termin ...

  3. ss流量查询 php,Linux_Linux怎么使用ss命令查看系统的socket状态,  Linux系统中,ss命令可用于 - phpStudy...

    Linux怎么使用ss命令查看系统的socket状态 Linux系统中,ss命令可用于查看系统的socket的状态,而socket作为系统的进程通信机制,了解其状态是很有必要的,下面小编就给大家介绍下 ...

  4. linux中的root命令,在linux终端中执行root命令

    Linux终端中如果要执行root命令该怎么做呢?下面由学习啦小编为大家整理了linux终端中执行root命令的方法,希望对大家有帮助! 在linux终端中执行root命令的方法 使用sudo命令,命 ...

  5. linux sudo命令全称,你知道Linux系统中的sudo 命令吗?

    今天小编要跟大家分享的文章是关于Linux系统中sudo命令介绍.熟悉Linux操作系统的小伙伴们你们是否了解sudo命令.sudo 表示 "superuser do". 它允许已 ...

  6. 我的linux系统怎么输入pv,如何在Linux系统中使用pv命令

    本文介绍了如何在Linux系统中使用pv命令.内容很详细.有兴趣的朋友可以参考一下,希望对大家有帮助. PV 命令 PV由Andrew Wood开发,是Pipe Viewer的简称,意思是通过管道显示 ...

  7. linux ps-l命令详解,Linux系统中ps -l命令显示的英文含义

    Linux系统中ps -l命令显示的英文含义 UID:启动这些进程的用户. PID:进程的进程ID. PPID:父进程的进程号(如果该进程是由另一个进程启动的). C:进程生命周期中的CPU利用率. ...

  8. linux系统下的shell是什么,Linux系统中shell各命令的区别有什么?

    今天小编要跟大家分享的文章是关于Linux系统中shell各命令的区别有什么?喜欢Linux系统并对此感兴趣的小伙伴们快来一起看一看吧~希望对你有所帮助. 1.xargs作用: (1)将前一个命令的标 ...

  9. linux系统vi光标移动字符,Linux vi中移动光标命令

    Linux vi中移动光标命令 移动光标 上:k nk:向上移动n行 9999k或gg可以移到第一行 G移到最后一行 下:j nj:向下移动n行 左:h nh:向左移动n列 右:l nl:向右移动n列 ...

  10. Linux操作系统中man命令的用法,Linux 系统中的MAN命令使用祥解

    Linux 系统中的MAN命令使用祥解 在使用Linux命令或程序的过程中,大家免不了要看看命令和程序的帮助文档.这就要使用到man命令.下面就man命令使用的方法具体说一下: 1.man 的使用语法 ...

最新文章

  1. win7系统下载 ghost win7 Sp1 32位纯净3月版
  2. linux远程跳板机超时
  3. CentOS虚拟机不能联网状况下yum方式从本地安装软件包
  4. jsonp跨域读取cookie
  5. flask上下文管理机制
  6. git常用操作命令大全
  7. 下行文格式图片_收藏!公文写作格式大全(附示例图)
  8. Android 以太网转 WiFi 热点 (并在同一网段 192.168.0.xx)
  9. Java-集合第二篇Set集合
  10. NYOJ 608 508筹划工程 HDU 1232 畅通工程
  11. SQL Server 2019 安装教程(详细免费,自定义安装)
  12. Golang项目:客户信息管理系统(附源码) (Golang经典编程案例)
  13. 分享图片至Facebook与Twitter
  14. 3D游戏建模学习有哪些书?自学难不难?能学成就业吗
  15. WordPress博客系统搜索引擎优化seo全攻略-新华站长网
  16. 如何搭建职业教育智慧课堂?
  17. 8大预测分析工具比较
  18. 2022年11月(下半年)信息系统项目管理师考试-案例分析真题及解析
  19. Linux 基础入门
  20. 怎么将做个文件做成二维码?扫描二维码展示文件怎么做?

热门文章

  1. vue学习- 列表渲染v-for
  2. linux提示符目录变为~,Linux终端提示符路径长度的修改方法
  3. php 数据显示,数据显示处理,该怎么处理
  4. oracle 运营维护_oracle运维(持续更新)
  5. 发现在创建云服务器ecs实例的磁盘快照时_【New Feature】阿里云快照服务技术解析...
  6. js深拷贝,浅拷贝的解析以及解决方案
  7. 两个或者多个图片上下之间有空隙
  8. Echarts地图坐标geoCoordMap数据动态获取
  9. leafLet API 中文文档翻译
  10. Statement对象