函数的定义及使用
shell中函数是一堆代码的集合,主要是为了方便代码的重用,减少代码的书写量,定义的函数shell会直接解析函数放入内存中但不运行,直到代码中通过函数名直接调用
大概格式如下()里面一般用来传参数,但是shell中函数一般只作为代码块的载体,所以留空,{}里面存放代码块即命令的集合
#代码格式如下:编写一个自动安装apache http的函数
function Apache_install(){
echo "This is SHElL command"
wget -c http://URL&&tar -zxf apche-http1.142.tar.gz&& cd http1.2-12-10&&./configure --prefix=/usr/local/apache --enable so --enable rewrite
if [ $? -eq 0 ];then
make&&make install
fi
#run fuction command
Apache_install #通过函数名直接调用函数
}
编程与&,或|符号的应用
#双与&&表示前面执行成功后继续执行后面的命令语句
[root@localhost sh]# [ -d /etc ] && echo "yes"
yes
#双或||表示前面执行失败后继续执行后面的命令语句
[root@localhost sh]# [ -d /etdddd ] || echo "no"
no
SHELL中的数组
数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字成为数组名,编号成为下标。
数组的定义类似于python中的元组,通过下标调用数组中的成员,数组成员之间一般以空格或者换行符号分割
#下标索引值是从0开始
[root@localhost ~]# A=(a1 a2 a3 a4)
[root@localhost ~]# echo ${A[0]}
a1
#打印所有参数
[root@localhost ~]# echo ${A[@]}
a1 a2 a3 a4
#打印参数个数
[root@localhost ~]# echo ${#A[@]}
4
#删除数组中的参数
[root@localhost ~]# unsetA[2]
#替换数组中的参数
[root@localhost ~]# echo ${A[@]/a1/a5}
网友评论