`
诗意的栖居
  • 浏览: 274487 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Linux Shell for循环写法总结

阅读更多
关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿...

1、 for((i=1;i<=10;i++));do echo $(expr $i \* 4);done
2、在shell中常用的是 for i in $(seq 10)
3、for i in `ls`

4、for i in ${arr[@]}
5、for i in $* ; do
6、for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do
7、for i in f1 f2 f3 ;do
8、for i in *.txt
9、for i in $(ls *.txt)
for in语句与` `和$( )合用,利用` `或$( )的将多行合为一行的缺陷,实际是合为一个字符串数组

============ -_- ==============for num in $(seq 1 100)
10、LIST="rootfs usr data data2"
for d in $LIST; do
用for in语句自动对字符串按空格遍历的特性,对多个目录遍历
11、for i in {1..10}
12、for i in stringchar {1..10}
13、awk 'BEGIN{for(i=1; i<=10; i++) print i}'

注意:AWK中的for循环写法和C语言一样的





===============================================================





01.#/bin/bash

02.# author: 周海汉

03.# date :2010.3.25

04.# blog.csdn.net/ablo_zhou

05.arr=("a" "b" "c")
06.echo "arr is (${arr[@]})"
07.echo "item in array:"
08.for i in ${arr[@]}
09.do
10. echo "$i"
11.done
12.echo "参数,\$*表示脚本输入的所有参数:"
13.for i in $* ; do
14.echo $i
15.done
16.echo
17.echo '处理文件 /proc/sys/net/ipv4/conf/*/accept_redirects:'
18.for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do
19.echo $File
20.done
21.echo "直接指定循环内容"
22.for i in f1 f2 f3 ;do
23.echo $i
24.done
25.echo
26.echo "C 语法for 循环:"
27.for (( i=0; i<10; i++)); do
28.echo $i
29.done


---------------------------------------------------------------------------------------------------------

shell中for循环用法
shell语法好麻烦的,一个循环都弄了一会 ,找了几个不同的方法来实现输出1-100间可以被3整除的数
1.用(())
#!/bin/bash
clear

for((i=1;i<100;i++))
for
do
if((i%3==0))
then
echo $i
continue
fi
done
2.使用`seq 100`
#!/bin/bash
clear

for i in `seq 100`
do
if((i%3==0))
then
echo $i
continue
fi
done
3.使用while
#!/bin/bash
clear

i=1
while(($i<100))
do
if(($i%3==0))
then
echo $i
fi
i=$(($i+1))
done



--------------------------------------------------------------------------------------------------------
在shell用for循环做数字递增的时候发现问题,特列出shell下for循环的几种方法:

1.

for i in `seq 1 1000000`;do

echo $i

done

用seq 1 10000000做递增,之前用这种方法的时候没遇到问题,因为之前的i根本就没用到百万(1000000),因为项目需要我这个数字远大于百万,发现用seq 数值到 1000000时转换为1e+06,根本无法作为数字进行其他运算,或者将$i有效、正确的取用,遂求其他方法解决,如下

2.

for((i=1;i<10000000;i++));do

echo $i

done

3.

i=1

while(($i<10000000));do

echo $i

i=`expr $i + 1`

done

因为本方法调用expr故运行速度会比第1,第2种慢不少不过可稍作改进,将i=`expr $i + 1`改为i=$(($i+1))即可稍作速度的提升,不过具体得看相应shell环境是否支持

4.

for i in {1..10000000;do

echo $i

done

其实选用哪种方法具体还是得由相应的shell环境的支持,达到预期的效果,再考虑速度方面的问题。
分享到:
评论

相关推荐

    Shell实现程序造死循环的几种方法示例

    ### Shell脚本中实现死循环的方法 在Linux环境中,Shell脚本是一种非常强大的工具,它可以帮助用户自动化执行一系列任务。其中,死循环是常见的逻辑控制结构之一,它可以使程序持续运行,直到满足特定条件才退出。...

    Linux之shell脚本

    在C Shell中,`for` 循环使用如下格式: ```csh foreach var (list) # commands end ``` - 示例完整代码: ```csh foreach i (a b c d e) echo "aaaaaaaa" end ``` 2. **While循环**: - **`while [[$i...

    shell脚本的常用格式及写法

    Shell脚本,全称为Bash Shell脚本,是Linux或Unix系统中的一种程序设计语言,它基于Shell命令行解释器,允许用户通过编写脚本来自动化一系列的系统操作。Shell脚本的编写对于日常的系统管理和自动化任务至关重要。...

    【shell脚本】shell脚本之条件判断if、for与while循环(shell脚本基础学习二)

    本文将深入探讨Shell脚本中的条件判断(if)、for循环和while循环,这些都是编写有效脚本的基础。 ### 条件判断 `if` `if` 语句在Shell脚本中用于根据特定条件执行不同的命令。以下是一些基本形式: 1. **单分支 ...

    Shell 脚本编程实战100例.pdf

    9. 循环和条件判断:如“使用for循环和if语句批量新建/删除用户”和“while死循环的几种写法”,这些实例不仅帮助理解Shell脚本的结构,还能加深对编程逻辑的理解。 10. 正则表达式和文本处理工具:通过“基础正规...

    Shell+Regex 复习笔记

    ### Shell+Regex 复习笔记知识点总结 #### Shell 基础 1. **Shell 的安装与使用**: - 在 Windows 上使用 Shell 需要先安装 Git 或其他支持 Bash 的工具。 - 安装完成后,在目标 `.sh` 文件夹中右键打开 Git ...

    Linux 脚本编写基础

    正确的写法是: ```sh echo "this is the ${num}nd" ``` 这将输出 "this is the 2nd"。 ##### 1.1.4 export命令 `export` 命令用于将变量标记为全局变量,使得在子shell或后续的shell脚本中也能访问到该变量。这...

    linux应用开发环境

    这份PPT可能涵盖了Shell的基础语法、条件语句、循环、函数以及与系统交互的方法,是提升Linux操作效率的关键。 综上,这个“Linux应用开发环境”的学习资源包将带你全面了解从代码编写、编译、自动化构建到调试的全...

    shell脚本按当前日期输出日志的实现

    总结来说,shell脚本按当前日期输出日志的实现主要涉及以下知识点: 1. 变量定义与赋值:如`name="xiongzaiqiren"`。 2. 使用`echo`命令输出信息。 3. `date`命令获取当前日期和时间,使用`+%Y-%m-%d %H:%M:%S`等...

    Linux里awk中split函数的用法小结

    在Linux的命令行环境中,`awk` 是一个强大的文本处理工具,它允许用户对文本文件进行模式匹配和处理。在`awk`中,`split`函数是一个非常实用的内置函数,用于将一个字符串分割成数组的各个元素。下面我们将详细讨论`...

    ssh脚本,ssh脚本,ssh脚本

    在Linux和Unix-like操作系统中,SSH脚本通常使用Shell脚本语言编写,如Bash。 首先,了解SSH的基本概念至关重要。SSH提供了加密的网络通信,包括命令行接口的会话、文件传输(如scp和sftp)以及自动化任务。它的...

    Python面试考题.docx

    - 选项A的语法错误,正确的写法应该是`min = x if x ,这是Python的三元运算符。 - 选项B也是错误的,Python中没有类似于其他语言的条件表达式。 - 选项C的`if (x &gt; y) print x`是不完整的,Python的条件语句需要...

    GNU Make 使用手册(中译版)

    该手册主要介绍了GNU Make的使用方法及其在理解和编译Linux内核中的应用。 GNU Make遵循IEEE Standard 1003.2-1992 (POSIX.2) Section 6.2的规定,并支持C语言程序。通过GNU Make可以有效地管理C语言源文件的编译和...

Global site tag (gtag.js) - Google Analytics