Linux function shell

原创
2016/05/04 10:32
阅读数 99

                                                                      Linux function shell

    如何使用函数

#!/bin/bash
#this is fun shell
function fun1 {
echo "nihao"
}
for((i =0;i<10;i++))
do
fun1
done

    使用函数 传入参数

#!/bin/bash
#this is fun shell
function fun1 {
echo "nihao"$1 //获取命令参数1
}
for((i =0;i<10;i++))
do
fun1 $i //带入参数
done

    函数接收输入参数

#!/bin/bash
#this is fun shell
function fun1 {
read -p "please input a name" name //接受输入内容
echo "nihao"$name
}
for((i =0;i<3;i++))
do
fun1
done

    函数获得返回值

#!/bin/bash
#this is fun shell
function fun1 {
echo "nihao" //输出的都可以作为返回值
}
result=`fun1` //这个引号是键盘左边最上面的引号,不能隔开“=”号
echo $result

    函数传入值是一个数组

#!/bin/bash
#this is a bash
function fun1 {
funarray=(`echo "$*"`) //$@/$* 作用是一致的
echo "funarray ${funarray[*]}"
}
echo "global args"
array=(1 2 3 4)
fun1 ${array[*]} //传入参数时要注意的东西,不能直接用这样一个数值

    函数返回值是数组

#!/bin/bash
#this is fun shell
function fun1 {
funarray=(`echo "$@"`)
echo ${funarray[*]} //和传入参数一致的形式返回
}
array=(1 2 3 4)
result=`fun1 ${array[*]}`
echo $result

    将函数shell 作为库文件在其他shell中引用

定义一个lib文件
#!/bin/bash
#this is libshell
function addfun {
echo $[$1+$2]
}

使用lib的文件
#!/bin/bash
#this is use lib bash
. ./libshell //注意第一“.” 后面要跟着一个空格
result=`addfun 10 20`
echo $result

     在命令行中使用函数

[root@CentOS ~]# cat .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi
. /tmp/libshell //使用libshell 文件
在bashrc文件中定义库文件的数据源

重启shell
使用函数
[root@CentOS ~]# addfun 1 2
3


展开阅读全文
打赏
2
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
2
分享
返回顶部
顶部