Linux Shell编程之 for循环语句 if条件语句

    最近涉及Linux Shell编程,还不太熟悉,对于赋值语句,数值计算,循环语句,变量使用都不太熟悉。我不打算一个一个的说明知识点,我打算用最多3个例子说明所有的这些知识点。

Example 1 :

<span style="font-size:14px;">#!/bin/bash
# calculate sum = 1^2 + 2^2 + 3^2 +...+ 100^2

sum=0;

#tmp is temporary variable
tmp=0;

# for loops

i=1;
for((i=1;i<=100;i++))
do
let "tmp=$i*$i";
let "sum+=$tmp";
done

echo "Result:$sum";</span>


输出结果:

Result:338350


Example2:

<span style="font-size:14px;">#!/bin/bash


# 先执行 ls *.txt , 显示当前目录下所有的txt文件,然后将结果赋值给 files 变量 , 注意,shell自定义变量的赋值不需要 $files ,直接用

files=`ls *.txt`;

# for loops

#遍历所有的 txt 文件名

for file in $files
do
    echo "File name:$file";
    echo "File content:`cat $file`";
done</span>



   第三个例子融合了 if条件语句 和 for循环语句。

   Example 3:

<span style="font-size:14px;">#!/bin/bash

prefix="./"

#FOR LOOPS
i=1
directory=4
for((i=1;i<=200;i++))
do
   	if [ $i -lt 10 ]; then
 		directory=${prefix}00$i;
	elif [ $i -lt 100 ]; then
		directory=${prefix}0$i;
	else
		directory=${prefix}$i;
	fi
	
	echo $directory;
done</span>

    补充说明:

       if 与[ 之间必须有空格

       [ ]与判断条件之间也必须有空格

       ]与; 之间不能有空格

      int1 -eq int2    两数相等为真
      int1 -ne int2    两数不等为真
      int1 -gt int2    int1大于int2为真
      int1 -ge int2    int1大于等于int2为真
      int1 -lt int2    int1小于int2为真
      int1 -le int2    int1小于等于int2为真

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值