在shell脚本中建立循环,将echo内容重定向追加到一个文件中

wKioL1dj6XHwzJ-tAAAoItNjmwc457.png-wh_50

之前file文件为空,运行脚本后内容为

wKiom1dj6ZvRZ6DNAAA5xTG3PHo743.png-wh_50


在shell脚本中创建数组

wKioL1dj3f7wjqQVAACMijqMQfE180.png-wh_50

结果:

wKiom1dj3Pej7K_0AAAhgf3RaOE209.png-wh_50

使用三种循环方式遍历数组,直接使用圆括号对数组内容进行初始化

1.${#arr[@或者*]}表示该数组中元素的个数

2.取数组中的每个元素时可以使用${arr[第几个元素]},就如同c中的通过数组下标访问数组元素

3.可以使用${arr[@]}或者使用${arr[*]}显示数组中的所有元素

4.数组可接受任意类型的数据,也可直接对数组的某个位置直接赋值操作,也可以不连续对数组初始化,其中不连续的数组内容为空


1.利用shell脚本编写简单的求和运算

显示数据累加的过程 1+2+3+4+...+n

法1.使用printf函数打印内容,它与echo区别是echo会自动换行,而该函数不会自动换行

wKiom1dj4Mrjbp7lAABZC7ui1cc815.png-wh_50


法2.定义一个字符串,一直往后边追加,当追加到最后一个数时,去掉+号

wKiom1dj51rQ8A1mAABsX6vcd8Y201.png-wh_50

两种方法运行结果相同

wKiom1dj547iwb-UAAA6pSaxxDw521.png-wh_50

法3:用递归求和

wKiom1dmTOTx_ZdmAABu0amnR9k809.png-wh_50

结果:

wKioL1dmTWWSppAdAAAhcRioQYM301.png-wh_50

linux系统下有一个bc计算器,它可进行计算

wKioL1dmThby7ZdvAAAf5cHhO48730.png-wh_50


2.一个简单的进度条

wKioL1dmT8yAoP7jAACPIOvGJyo837.png-wh_50

结果:

wKioL1dmT-qTecGgAAAWJb8c9yM709.png-wh_50


3.字符串的大小写、顺序转换

wKioL1dmWiPDUDW_AABTil25InE826.png-wh_50

结果:

wKiom1dmWjeCrApgAAAcYrLLZ9k804.png-wh_50

使用cut工具对指定范围的字符串以一个字符读取方式进行截取,tr工具可以进行字符的大小写转换,可将打到标出内容重定向到另一个文件中


4.求三个数中的最大、最小以及平均值

wKiom1dmYdrAEIJ3AAC3MyuyAuU631.png-wh_50

结果:

wKioL1dmYe6i70BkAABAEmE3Q60652.png-wh_50


5.斐波那契数列

法1.使用三个数进行导换

wKiom1dmZS6R0o4mAABbsYs32q0779.png-wh_50

法2.借用数组求值

wKioL1dmZUKRG_KxAABhOgVLvrg545.png-wh_50

法3.使用递归

wKioL1dmbZ3htUo-AACamSSYa-o627.png-wh_50

结果:

wKioL1dmZ2bgetVXAAAbIFmXRNs587.png-wh_50