文档章节

Linux function shell

年少爱追梦
 年少爱追梦
发布于 2016/05/04 10:32
字数 412
阅读 35
收藏 1

                                                                      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


© 著作权归作者所有

年少爱追梦
粉丝 35
博文 189
码字总数 119531
作品 0
杭州
程序员
私信 提问
kali linux 安装 BCM43227网卡驱动

系统信息: 系统环境 无线网卡信息: 正常情况下,可以通过软件包的方式进行安装: aptitude install linux-headers-$(uname -r|sed 's,[^-]-[^-]-,,') broadcom-sta-dkms 但软件包安装时出现...

银月光海
2014/09/12
4K
0
Adobe Brackets 1.0 正式发布,网页开发工具

Adobe Brackets 1.0 正式发布,此版本现已提供下载,更新内容请看这里。 更新内容: Preferences Configure keyboard shortcuts: Customize your Brackets keyboard shortcuts via a JSON co......

oschina
2014/11/05
3.7K
29
shell脚本从入门到复杂 其八(函数)

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。 Shell的函数存在于内存,而不是硬盘文件,所以速度很快,另外,Shell还能对函数进行预处理,所以函数的启动比脚本更快。 注...

断臂人
2018/05/09
0
0
sysfunc 1.1.23 发布,常用 Shell 库

sysfunc 1.1.23 发布,此版本更新内容如下: 新的 VMware-specific section 新的文件保存机制(files are now saved to a separate tree along with their metadata) 新的 github wiki (sep......

oschina
2014/03/08
391
0
call to undefined function mb_convert_encoding

参考链接:http://blog.coinidea.com/web%E5%BC%80%E5%8F%91/php-1177.html Windows下解决: 在php.ini中开启mbstring函数库:去掉extension=php_mbstring.dll前面的分号; Linux下解决: 首先......

CoinIdea
2018/08/29
4
0

没有更多内容

加载失败,请刷新页面

加载更多

Taro 兼容 h5 踩坑指南

最近一周在做 Taro 适配 h5 端,过程中改改补补,好不酸爽。 本文记录📝遇到的问题,希望为有相同需求的哥们👬节约点时间。 Taro 版本:1.3.9。 解决跨域问题 h5 发请求会报跨域问题,需...

dkvirus
42分钟前
3
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
今天
2
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
今天
3
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
今天
19
0
java数据类型

基本类型: 整型:Byte,short,int,long 浮点型:float,double 字符型:char 布尔型:boolean 引用类型: 类类型: 接口类型: 数组类型: Byte 1字节 八位 -128 -------- 127 short 2字节...

audience_1
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部