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一下基础概念;自己就能写出来的。