Linux function shell
如何使用函数
#!/bin/bash#this is fun shellfunction fun1 {echo "nihao"}for((i =0;i<10;i++))dofun1done
使用函数 传入参数
#!/bin/bash#this is fun shellfunction fun1 {echo "nihao"$1 //获取命令参数1}for((i =0;i<10;i++))dofun1 $i //带入参数done
函数接收输入参数
#!/bin/bash#this is fun shellfunction fun1 {read -p "please input a name" name //接受输入内容echo "nihao"$name}for((i =0;i<3;i++))dofun1done
函数获得返回值
#!/bin/bash#this is fun shellfunction fun1 {echo "nihao" //输出的都可以作为返回值}result=`fun1` //这个引号是键盘左边最上面的引号,不能隔开“=”号echo $result
函数传入值是一个数组
#!/bin/bash#this is a bashfunction fun1 {funarray=(`echo "$*"`) //$@/$* 作用是一致的echo "funarray ${funarray[*]}"}echo "global args"array=(1 2 3 4)fun1 ${array[*]} //传入参数时要注意的东西,不能直接用这样一个数值
函数返回值是数组
#!/bin/bash#this is fun shellfunction fun1 {funarray=(`echo "$@"`)echo ${funarray[*]} //和传入参数一致的形式返回}array=(1 2 3 4)result=`fun1 ${array[*]}`echo $result
将函数shell 作为库文件在其他shell中引用
定义一个lib文件#!/bin/bash#this is libshellfunction 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 functionsalias rm='rm -i'alias cp='cp -i'alias mv='mv -i'# Source global definitionsif [ -f /etc/bashrc ]; then . /etc/bashrcfi. /tmp/libshell //使用libshell 文件在bashrc文件中定义库文件的数据源重启shell使用函数[root@CentOS ~]# addfun 1 23