前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell入门系列(8)for

shell入门系列(8)for

作者头像
suveng
发布2019-09-17 10:16:43
5140
发布2019-09-17 10:16:43
举报
文章被收录于专栏:分享/效率/工具/软件

title: shell入门系列(8)for date: 2019-01-16 10:00:00 +0800 update: 2019-01-16 10:00:00 +0800 author: me cover: http://ww1.sinaimg.cn/large/006jIRTegy1fz8sbu1674j31kw0w0wn3.jpg preview: Shell本身是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁,用户的大部分工作都是通过 Shell 完成 tags:

  • shell系列

文章目录

  • shell入门系列(8)for
    • 简介
    • 入门小案例
      • c语言的for
      • 循环列表(数组)中的数据
        • 处理文本字符串
        • 处理数字序列
        • 处理字符序列
      • 与其他命令混合使用
    • 我的主页
封面图
封面图

shell入门系列(8)for

简介

  • 和C语言一样的for循环
  • 处理列表数据的for循环 处理数字序列 处理字符序列 处理文本字符串

入门小案例

c语言的for

代码语言:javascript
复制
#! /bin/bash

declare -i i s
for((i=1;i<=10;i++))
do
        echo $i
done
效果
效果

循环列表(数组)中的数据

处理文本字符串

默认是以 空格,换行符,制表符作为 分隔符

可以重新自定义分隔符,设置 IFS 即可,记得用完要设置回来

代码语言:javascript
复制
data="name,sex,rollno,location"
oldIFS=$IFS
IFS=","

for item in $data
do
        echo $item
done;
IFS=$oldIFS
效果
效果

: 为分隔符

代码语言:javascript
复制
line="root:x:0:0:root:/root:/bin/bash"
oldIFS=$IFS;
IFS=":";

count=0
for item in $line;
do
        [ $count -eq 0 ] && user=$item
        [ $count -eq 6 ] && shell=$item
        let count++


done;
IFS=$oldIFS;
echo $user \'s shell is $shell;
效果
效果
处理数字序列

刚刚说了,默认是以空格为分隔符,可以自定义的,这里使用默认的

代码语言:javascript
复制
for i in 1 2 3 4 5
do
        echo $i
done
效果
效果

另一种写法

代码语言:javascript
复制
for i in {10..20}
do
        echo $i
done
效果
效果
处理字符序列
代码语言:javascript
复制
for c in {a..h}
do
        echo $c
done
效果
效果

与其他命令混合使用

这里可以与 ls 混合使用

代码语言:javascript
复制
DIR="/root"
for f in $(ls $DIR)
do
        echo $f
done
效果
效果

复杂一点,循环文件,并把文件夹的占用空间输出

代码语言:javascript
复制
DIR="/root"
cd $DIR
for f in $(ls $DIR)
do
        [ -d $f ] && du -s $f
done
效果
效果
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年01月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • shell入门系列(8)for
    • 简介
      • 入门小案例
        • c语言的for
        • 循环列表(数组)中的数据
        • 与其他命令混合使用
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档