linux脚本 for循环,linux循环执行命令

大家好,关于linux脚本 for循环很多朋友都还不太明白,今天小编就来为大家分享关于linux循环执行命令的知识,希望对各位有所帮助!

如何在 Linux 中使用 Bash For 循环

在Linux中,Bash脚本中的for循环是执行重复任务的关键工具,它有多种用途和语法。本文将详细介绍如何在Linux中使用Bash for循环。

for循环的基本语法是遍历一系列值并执行一组命令。下面是一些示例:

对于简单的范围,如1到10,for循环会逐个打印这些数字,如:`for n in{1..10}; do echo$n; done`

范围可以通过指定开始和结束值,如`for n in{1..7}; do echo$n; done`,实现自动迭代。

数组循环允许遍历已定义的数组,如`fruits=("apple""banana""mango") for fruit in fruits; do echo$fruit; done`

C风格的for循环结合变量,如`for i in{1..7}; do echo$((i*2)); done`,用于迭代并处理一系列元素。

for循环还可以配合条件语句,如`for i in{1..7}; do if [$((i% 2))-eq 0 ]; then echo"Even:$i"; else echo"Odd:$i"; fi; done`

使用`continue`语句在满足条件时跳过当前迭代,如`for i in{1..7}; do if [$i-gt 5 ]; then continue; fi; echo$i; done`

`break`语句则在满足条件时立即终止循环,如`for i in{1..7}; do if [$i-eq 3 ]; then break; fi; echo$i; done`

Linux | shell脚本-条件判断if和循环语句for

上个章节中,我们学习了判断语句和运算语句。在Shell脚本的使用中,条件判断语句经常与if、else、elif、for和while等语句结合使用,以实现对多种情况的高效判断。

条件判断语句如果语句,通常由如下构成:

if条件判断;then

成功执行操作...

fi

举例:结合整数值比较-eq进行主机在线检查。如运行脚本:vim test1.sh,可得到主机在线或离线的确认结果。

条件判断的双分支结构进一步包括:

if条件判断;then

成功操作...

else

失败操作...

fi

如与字符比较-z一起使用的例子,检查服务运行状态,未运行则启动服务的脚本运行test2.sh。

同时存在多个条件判断的多分支结构如:

if条件判断1;then

条件1成立操作...

elif条件判断2;then

条件2成立操作...

else

其他条件不成立时操作...

fi

以奖品分类为例,根据分数确定不同的奖项,输入范围在0-100分内,并包含奖品分类说明。

所有条件均不成立时的特殊情况操作可以在此结构中包含。

Shell循环结构语句分为for、while和until三种。其中,while和for属于“当型循环”,直到型循环。

for循环的语法如下:

for变量名 in变量值列表

do

循环体

done

例如输出1-254之间的所有偶数,计数并输出数量。

循环结构的应用使得Shell脚本的编写更加灵活,具备自动执行特定操作的机制。

预告下一期内容:将深入探讨Shell脚本中的while和until循环结构及case分支结构的使用方法。

要了解更多详细信息,请访问睿江云计算官网链接:e[链接]

...并计算和(用linux 系统 shell脚本for语句编写)

【答】程序清单如下:

L0.2 prime.sh

#!/bin/bash

#

# SCRIPT: prime.sh

# AUTHOR: Zhaing&Bo

# DATE: 2010-11-21

# REV: 1.1.A

#

# PLATFORM: Linularis

#

# PURPOSE: Read a number from the console, then print all the primes

# in(1~100). And at the same time calculate the sum of all

# the primes.

#

# set-n# Uncomment to check your syntax, without execution.

## NOTE: Do not forget to put the comment back in or

## the shell script will not execute!

# set-x# Uncomment to debug this shell script(Bash only)

#

##########################################################

########### DEFINE FILES AND VARIABLES HERE##############

##########################################################

num=0#用来暂存用户输入整数

i=0#循环控制变量(控制is_prime函数中的循环次数)

N=0#待测值(is_prime函数形参)

n=0#主函数循环控制变量(is_prime函数实参)

flag=1#素数表示(其中 1表示是,0表示否)

sum=0#用来存储素数之和

##########################################################

############### DEFINE FUNCTIONS HERE####################

##########################################################

#/**

#*函数名称:is_prime()

#*函数功能:测试一个数是否为素数

#*/

function is_prime(){

N=$1

flag=1

for((i=2; i<(N/2+1); i++)){

((N%i))

if [$?-ne 0 ]; then

flag=0; break;

fi

}

}

##########################################################

################ BEGINNING OF MAIN#######################

##########################################################

#输出提示

read-p"Please input a postive integer:" num

#echo-e"\nYour Number is:$num.\n"#将用户输入输出,以便用户确定

echo-e"All the prime from 1 to$num:"

for((n=2; n<=$num; n++)){

is_prime n

if [$flag-eq 1 ]; then

echo-n"$n"

((sum=sum+n))

# echo-e"$n Is prime."

# else

# echo-e"$n is Not prime.\n"

fi

}

#输出所有素数的和(1~num)

echo-e"\nThe SUM of all the primes is:$sum.\n"

# End of script【至此结束】

【说明】

您好!脚本如上所示,我只在Fedora13下进行过测试,没有问题;但,别的Linux平台我不敢保证程序能够正常运行。注意,其中汉语注释在Linux下可能显示乱码,本人不再为此提供技术支持。

另外,这也是我写的第一个脚本。程序可能不是最好的,有什么问题请留言。

【建议】

这类小脚本并不是很难,多查查书,google一下基础概念;自己就能写出来的。

阅读剩余
THE END