最近涉及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为真