十年专注于品牌网站建设 十年专注于品牌网站建设,低调、高逼格、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

如何在bash shell脚本中使用C语言风格的for命令?

百恒网络 2017-08-22 275

如果您从事过C语言编程方面的工作,那么您可能会对bash shell中for命令的工作方式有点惊奇。在C语言中, for循环通常定义一个变量,然后这个变量会在每次迭代时自动改变。通常程序员会将这个变量用作计数器,并在每次迭代中让计数器增一或减一。bash的for命令也提供了这个功能。今天,南昌网络公司小编重点教大家如何在bash shell脚本中使用C语言风格的for命令,下面就一起跟随小编的步伐来看看!

C语言的for命令有一个用来指明变量的特定方法,一个必须保持成立才能继续迭代的条件, 以及另一个在每个迭代中改变变量的方法。当指定的条件不成立时,for循环就会停止。条件等式通过标准的数学符号定义。比如,考虑下面的C语言代码:

for (i = 0; i < 10; i++)

{

printf("The next number is %dn", i);

}

这段代码产生了一个简单的迭代循环,其中变量i作为计数器。第一部分将一个默认值赋给该变量。中间的部分定义了循环重复的条件。当定义的条件不成立时,for循环就停止迭代。 后一部分定义了迭代的过程。在每次迭代之后,后一部分中定义的表达式会被执行。在本例中,i变量会在每次迭代后增一。

bash shell也支持一种for循环,它看起来跟C语言风格的for循环类似,但有一些细微的不同,其中包括一些让shell脚本程序员困惑的东西。以下是bash中C语言风格的for循环的基本格式。

for (( variable assignment ; condition ; iteration process ))

C语言风格的for循环的格式会让bash shell脚本程序员摸不着头脑,因为它使用了C语言风格的变量引用方式而不是shell风格的变量引用方式。C语言风格的for命令看起来如下:

for (( a = 1; a < 10; a++ ))

注意,有些部分并没有遵循bash shell标准的for命令:

1、变量赋值可以有空格;

2、条件中的变量不以美元符开头;

3、迭代过程的算式未用expr命令格式。

shell开发人员创建了这种格式以更贴切地模仿C语言风格的for命令。这虽然对C语言程序员来说很好,但也会把专家级的shell程序员弄得一头雾水。在脚本中使用C语言风格的for循环时要小心。

以下是在bash shell程序中使用C语言风格的for命令的一个例子,大家认真看一下:

$ cat test8

#!/bin/bash

# testing the C-style for loop

for (( i=1; i <= 10; i++ ))

do

echo "The next number is $i"

done

$ ./test8

The next number is 1

The next number is 2

The next number is 3

The next number is 4

The next number is 5

The next number is 6

The next number is 7

The next number is 8

The next number is 9

The next number is 10

$

for循环通过定义好的变量(本例中是变量i)来迭代执行这些命令。在每次迭代中,$i变量包含了for循环中赋予的值。在每次迭代后,循环的迭代过程会作用在变量上,在本例中,变量增一。

以上就是南昌网络公司小编为大家介绍的如何在bash shell脚本中使用C语言风格的for命令的方法,是不是感觉很简单呢?如果大家还有哪些不明白的地方,可随时来电和我们联系,百恒专业为您解答!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×