shell函数和脚本的综合应用

1、shell函数:shell允许将一组命令集或语句形成一个可用块,这些块称为shell函数。

函数由两部分组成:函数标题、函数体。

标题是函数名。函数体是函数内的命令集合。

标题名应该唯一;如果不是,将会混淆结果,因为脚本在查看调用脚本前将首先搜索函数调用相应的shell。

2、定义函数的格式为:

函数名(){

命令1

...

}

如果愿意,可在函数名前加上关键字function,这取决于使用者。

function函数名()

{

命令1

 ...

}

3、举例:

例1:删除文件中的空行

这个脚本(脚本名为del.lines)可以处理一个或多个文件。每个文件在用sed删除空行之前要先核实是否存在。

sed的输出被导入一个文件名中含有$ $的临时文件,最后这个临时文件又被移回到原来的文件中。

该脚本使用shift命令取得所有的文件名,用while循环逐个处理所有的文件,直至处理完

为止。可以使用del.lines --help获得一个简短的帮助

保存后给脚本文件增加执行权限:chmod +x del.lines

执行脚本进行测试:

时间: 2024-09-20 00:19:53

shell函数和脚本的综合应用的相关文章

bash-在shell脚本include的shell函数中出现的特殊符号NO_EXPORT:+-n什么意思

问题描述 在shell脚本include的shell函数中出现的特殊符号NO_EXPORT:+-n什么意思 config_get [] config_get config_get() { case ""$3"" in") eval echo ""${CONFIG_${1}_${2}:-${4}}"";; *) eval export ${NO_EXPORT:+-n} -- ""${1}=${CON

Linux下如何编写和使用自定义的Shell函数和函数库

在 Linux 系统下,Shell 脚本可以在各种不同的情形下帮到我们,例如展示信息,甚至 自动执行特定的系统管理任务,创建简单的命令行工具等等. 在本指南中,我们将向 Linux 新手展示如何可靠地存储自定义的 shell 脚本,解释如何编写 shell 函数和函数库,以及如何在其它的脚本中使用函数库中的函数. Shell 脚本要存储在何处 为了在执行你自己的脚本时不必输入脚本所在位置的完整或绝对路径,脚本必须被存储在 $PATH 环境变量所定义的路径里的其中一个. 使用下面的命令可以查看你系

如何编写和使用自定义的 Shell 函数和函数库

在 Linux 系统下,Shell 脚本可以在各种不同的情形下帮到我们,例如展示信息,甚至 自动执行特定的系统管理任务,创建简单的命令行工具等等. 在本指南中,我们将向 Linux 新手展示如何可靠地存储自定义的 shell 脚本,解释如何编写 shell 函数和函数库,以及如何在其它的脚本中使用函数库中的函数. Shell 脚本要存储在何处 为了在执行你自己的脚本时不必输入脚本所在位置的完整或绝对路径,脚本必须被存储在 $PATH 环境变量所定义的路径里的其中一个. 使用下面的命令可以查看你系

prll 0.6.1发布 shell函数并行执行工具

prll是一个并行执行shell函数的工具.它提供了一个方便的界面来并行执行单个任务,通过多个数据文件或其他类型的数据作为一个shell函数的参数,简单充分利用多核/多处理器的机器.prll不只是在shell脚本中的使用,也能用于交互式shell,为了使用者的方便,它也可以作为一个shell函数.prll能够使用C编写的辅助程序自动管理项目. prll 0.6.1版本添加prll_seq,是一个GNU SEQ的简单替代品.五个locks可以为用户提供他们需要同步函数.增加了另一种辅助功能,以纾缓

Shell 函数 function [转]

本文也即<Learning the bash Shell>3rd Edition的第四章Basic Shell Programming之读书笔记,但我们将不限于此. 运行shell脚本程序 一个包含shell命令的脚本就是一个shell程序,例如.bash_profile.我们创建shell脚本,允许的时候可以通过两种方式:一.source :二.只敲入文件名,按回车就可以执行,这种方式更为便捷.我们需要将文件放置在命令搜索路径下(在Linux Bash学习(六):设置环境参数 中介绍),否则

使用Shell自动化管理脚本清理Nginx的proxy_cache缓存

Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi_cache相关指令集构成,前者用于反向代理时,对后端内容源服务器进行缓存,后者主要用于对FastCGI的动态程序进行缓存.两者的功能基本上一样. 在功能上,Nginx已经具备Squid所拥有的Web缓存加速功能.清除指定URL缓存的功能.而在性能上,Nginx对多核CPU的利用,胜过Squid不少.另外,在反向代理.http://www.aliyun.com/zixun/aggregation/13996.html

Linux集群和自动化维2.6 生产环境下的Shell和Python脚本分类

2.6 生产环境下的Shell和Python脚本分类 生产环境下的Shell和Python脚本的作用还是挺多的,这里根据2.1节所介绍的日常工作中Shell脚本的作用,将生产环境下的Shell脚本分为备份类.监控类.统计类.运维开发类和自动化运维类.前面3类从字面意义上看比较容易理解,后面的两类需要稍微解释一下,运维开发类脚本是利用Shell或Python实现一些非系统类的管理工作,比如SVN的发布程序等:而自动化运维类脚本则是利用Shell或Python来自动替我们做一些烦琐的工作,比如自动生

PowerShell入门教程之函数、脚本、作用域介绍_PowerShell

脚本所体现的是PowerShell的编程特性,是任务自动化的基础.函数是比脚本粒度更细的代码复用单元,可以定义在命令行中或者脚本中.作用域就是变量和函数的作用范围,是执行上下文的划分. 函数 函数就是命名的命令列表,与一般编程语言中的函数概念具有相同的范畴.函数中不但可以有简单命令,还可以有控制流程的命令,如if.while.switch等.函数可以有匿名参数或者命名参数列表.命令参数列表可以用大括号或者Param关键字定义.匿名函数可以使用$Args变量来访问.函数也可接收来自管道的对象作为输

VB使用shell函数打开外部exe程序的实现方法_vb

本文实例主要实现了VB调用外部exe程序来运行的功能,这里主要是使用shell函数来执行,shell函数主要用来打开一个外部的exe可执行文件,例如,在sub模块内:Shell "notepad", vbNormalFocus,代表以正常模式运行记事本程序,vbNormalFocus是shell的参数,意思是正常模式,当然它还有vbMaximizedFocus最大化模式,vbMinimizedFocus最小化模式,vbHide隐藏模式等多种运行方式可选择. 具体的代码例子及注释如下: