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

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

Example 1 :

#!/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";


输出结果:

Result:338350


Example2:

#!/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



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

   Example 3:

#!/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

    补充说明:

       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为真

你可能感兴趣的:(Linux)