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

GitHub 加速计划 / li / linux-dash
11
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐