linux bash for bashir
大家好,今天给各位分享linux bash for的一些知识,其中也会对bashir进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
如何在 Linux 的 bash 中永远循环 | Linux 中国
在Linux的bash环境中,实现命令行或脚本的无限循环是常见的操作。这里有两种主要的方法,while和for命令。
while true是最常见的无限循环方式,它会持续运行直到用户手动中断,如使用CTRL-C,关闭终端或注销。例如:
另一种方法是使用while:,这里的冒号确保循环永不停止,直到明确停止。
在脚本中,为了提醒用户如何退出,可以插入提示信息,如echo命令。
for命令也能实现无限循环,通过替换有界循环中的参数,使其无止境。比如,for c in{},如果不设定范围,循环将无限进行。
虽然理论上无限循环并不常见,但在实际操作中,例如监控任务直到特定时间点或完成特定条件,它非常有用。例如,脚本可以一直运行直到下午5点。
当需要退出循环而非脚本时,break命令是个更好的选择,而不是直接exit。
总的来说,尽管设置循环条件可能需要额外考虑,但无限循环在Linux的bash中是灵活且实用的。
原文来源:networkworld.com,作者Sandra Henry-Stocker,由LCTT翻译并由Linux中国发布。
...并计算和(用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一下基础概念;自己就能写出来的。
如何在 Linux 中使用 Bash For 循环
在 Linux中使用 Bash For循环是一种高效执行重复性任务的方法。Bash脚本提供三种类型的循环:for循环、while循环和 until循环。在本篇指南中,我们将重点探讨如何使用 for循环。
For循环用于遍历一系列值并执行一组给定的命令。其基本语法如下:
bash
for变量 in列表
do
命令
done
例如,遍历从 1到 7的整数并打印它们:
bash
for((i=1; i<=7; i++))
do
echo$i
done
在循环中,变量 i从 1开始,每次迭代增加 1,直到 7。每次迭代时,输出当前的 i值。
For循环还支持带有范围的循环,允许使用两个点分隔的起始和结束值。例如:
bash
for((i=1; i<=100; i+=2))
do
echo$i
done
从 1到 100的所有奇数将被打印出来。
For循环还可以用于数组遍历。例如,遍历一个名为 fruits的数组并打印每个元素:
bash
fruits=("apple""banana""mango""grape")
for fruit in"${fruits[@]}"
do
echo$fruit
done
在循环中,${fruits[@]}解析为数组中的所有元素,然后 for循环遍历这些元素并打印。
在 C风格的 for循环中,可以使用变量控制循环迭代。例如,从 1到 7打印数字:
bash
for((i=1; i<=7; i++))
do
echo$i
done
条件语句可以在 for循环中使用。例如,打印 1到 7之间的偶数和奇数:
bash
for((i=1; i<=7; i++))
do
if [$((i% 2))-eq 0 ]
then
echo"Even:$i"
else
echo"Odd:$i"
fi
done
此外,控制脚本运行方式的内置命令“continue”和“break”也可以在 for循环中使用。例如:
bash
for((i=1; i<=7; i++))
do
if [$i-eq 4 ]
then
continue
elif [$i-eq 6 ]
then
break
fi
echo$i
done
这将跳过数字 4并在到达数字 6时停止循环。
通过掌握 for循环的使用,可以更高效地在 Linux中编写自动化脚本。这些循环在执行重复性任务时提供了一种简洁且强大的方法。
参考:tecmint.com/bash-for-loop-tutorial/