shell怎么写1到n的循环 shell脚本for循环,N到1递减写法
- 综合知识
- 关注:3.2W次
为什么识别不了?
n=10
for ((i=n;i>=1;i--))
do
echo $i
done在Bash下测试是可以的。
你还可以使用for。in。语句或while语句。
for i in {10..1} #这里不能用变量
do
echo $i
done
n=10
while [ $n -ge 1 ] #或 while ((n>=1))
do
echo $n
let n-=1
done
2.shell语言 循环语句怎么写echo –n “input:”
read user
if 多条指令,这些命令之间相当于“and”(与)
grep $user /etc/passwd >/tmp/null
who -u | grep $user then 上边的指令都执行成功,返回值$?为0,0为真,运行then
echo "$user has logged"
else 指令执行失败,$?为1,运行else
echo "$user has not logged"
fi
3.怎么样用linux命令求1到N之间质数的和#!/bin/bashfunction fu(){ f=$1 i=2 while (($i<$f));do if (($f%$i==0));then return $f fi i=$(($i+1)) done}
j=2sum=0if [ -n "$(echo $1 | grep '^[1-9][0-9]*$')" ];then N=$1 echo -n "1到$1的质数有:" while (($j<=$N));do fu $j if (($?==0));then echo -n "$j," sum=$(($sum+$j)) j=$(($j+1)) else j=$(($j+1)) fi done echo -e "n1到$1的所有的质数的和是$sum"else echo "必须要有一个正整数做参数" exit 0fi
包括了求质数和求和的功能,,自己把while改成untile的形式就好了,,,
可能显示不出换行所以不要复制粘贴。
4.shell里for循环的几种写法#从文件循环进入,注意aaa.txt每行中不能有空格,不然会有问题
for i in `cat aaa.txt`
do
echo $i
done
#数字循环
for i in `seq 1 100`
do
echo $i
done
#while,可以无视行中的空格
while read line
do
echo $line
done
5.linux shell for循环怎么写去百度文库,查看完整内容>
内容来自用户:王晓波
Shell中的for循环语句与一般编程语言里的for语句有些不同,在shell中,for的作用是对一组参数都执行一个操作。其语法形式为:
for curvar in list
do
statements
done
列表是在for循环的内部要操作的对象,它们可以是字符串。如果它们是文件,那么这些字符串就是文件名。变量curvar是在循环内部用来指代当前所指列表中的对象的。如果希望对List中的每个值都执行一次statements,可以使用这种格式。在每一次循环中,将List中的当前值赋给curvar。list可以是包含一组元素的变量或者是用空格分开的值列表。for语句的第2种格式为:
for curvar
do
statements
done
在这种形式中,对传递给shell程序的每个位置参数执行statements一次。在每次循环中,将位置参数的当前值赋给变量curvar。这种格式也可以写成如下所示的形式:
for curvar in $@
do
statements
done
这里的$@是传递给shell程序的位置参数列表,引用的方式与用户初始调用命令时一致。
下面的shell脚本将使用for循环依次显示列表中5个变量的值,假定这些脚本位于当前用户的工作目录root/look中,其文件名为test5,内容如图15所示。
在该程序的for语句中,首先定义了一个名为var的变量,它的值依次是:one、two、three、four和five。因为有5个变量值,所以do和done之间的命令会被循环执行
6.shell脚本做一个循环1、看不出规律,假如是按++
#!/bin/sh
N=100
for((i=1;i<$N;i++))
{
((j=N-i))
echo ID="0000:03:00.${j}",NAME="xgbe${i}"
}
2、如果没有规律,就先做一个列表文件
例如
1 mgt1
2 mgr2
3 xgbe21
然后创建b.sh
#!/bin/sh
while read x y;
do
echo ID="0000:03:00.${x}",NAME="${y}";
done < a.txt
- 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/zonghezhishi/4w0nm4.html