博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7、shell函数
阅读量:5038 次
发布时间:2019-06-12

本文共 1002 字,大约阅读时间需要 3 分钟。

shell允许用户定义自己的函数.函数是高级语言中的重要结构.shell中的函数于C或者其他

语言中定义的函数一样.与从头开始,一行一行地写程序相比,使用函数主要好处是有利于组织
整个程序.在bash中,一个函数的语法格式如下:
fname (){
shell comands
}
定义好函数后,需要在程序中调用他们.bash中调用函数的格式:
fname [parm1 parm2 parm3...]
调用函数时,可以向函数传递任意多个参数.函数将这些参数看做是存放他的命令行参数的
位置变量.
举例:
这个程序定义了4个函数:
upper ():将传递给他的文件中的字母转换成大写,并存放到同名的结尾为.out的文件中.
lower ():将传递给他的文件里的字母转换成小写,并存放到同名的结尾为.out的文件中.
print ():输出传递给他的文件的内容.
usage_error ():输出程序的帮助信息.
程序的主模块是个case条件语句,他根据命令行中第一个参数,决定程序要完成的功能,并调用相应
的函数完成这一功能.
upper (){
shift
for i
do
tr a-a A-Z<$!>$1.out
rm $1
mv $1.out $1
shift
done; }
lower () {
shift
for i
do
tr A-Z a-z<$1>$1.out
rm $1
mv $1.out $1
shift
done; }
print() {
shift
for i
do
lpr $1
shift
done; }
usage_error() {
echo " $1 syntax is $1"
echo ""
echo " where option is one of the following"
echo " p--to print frame files"
echo " u--to save as uppercase"
echo " l--to save as lowercase";}
case $1 in
p | -p)print $@;;
u | -u)upper $@;;
l | -l)lower $@;;
*) usage_error $0;;
esac

转载于:https://www.cnblogs.com/quyong/p/6688023.html

你可能感兴趣的文章
TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute
查看>>
01 Linear Regression with One Variable
查看>>
计算矩阵转置函数的步总数公式
查看>>
【Linux】- CentOS 防火墙iptables和firewall
查看>>
selenium安装及官方文档
查看>>
【SVN】导出项目后报错汇总
查看>>
使用Redis存取数据+数据库存取(spring+java)
查看>>
MySQL教程(六)—— 数据库的创建与删除
查看>>
2018.11.24 poj2774Long Long Message(后缀数组)
查看>>
Python之路【第十六篇】Django基础
查看>>
nyoj 最长公共子序列(LCS)
查看>>
java基础 三 概念和java程序的结构.
查看>>
jedis应用实例
查看>>
Netty实战八之引导
查看>>
如何做一个自己的开源聊天项目?(仿微信)
查看>>
C#异步编程
查看>>
XML的简单读取与写入
查看>>
关于dojo模块化引入包的问题
查看>>
Linux下 网卡测速
查看>>
17秋 软件工程 团队第五次作业 Alpha Scrum1
查看>>