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/

阅读剩余
THE END