shell 函数调用】的更多相关文章

例一 #!/bin/bash create_link() { filelist=`ls $` for file in $filelist do echo $/$file done } create_link /Users/macname/Desktop 例二 #!/bin/bash demoFun(){ echo "这是我的第一个 shell 函数!" } echo "-----函数开始执行-----" demoFun echo "-----函数执行完毕-…
近期在学习shell编程方面的知识,写的不怎么好,请大家多多指点,下面给大家分享一下shell函数的用法. 我们为什么要用shell函数? 简单的说,函数的作用就是把程序多次调用相同的代码部分定义成一份,然后为这一份代码定义一个名字,其它所有重复调用这部分代码就都只调用定义的这个名字就OK了,当需要修改这部分重复代码时,只需要修改函数体内的一部分代码即可实现所有调用修改. 使用函数的优势: ①把相同的程序定义成函数,可以减少整个程序的代码量 ②增加程序的可读性.异读性,以及可管理性. ③可以实现…
SHELL函数调用分为两种: 第一种方式,有点像C语言调用函数的风格,直接把函数的执行结果复制给变量!不过,这个赋值过程和C语言的函数赋值是不一样的! C语言中,函数调用,是将函数的返回值返回给被调函数,如: fun() { +); } main() { a = fun(); ............... } 这实际上是将函数的返回值,也就是return的值复制给变量a!可是,大家注意:shell中函数调用的第一种方式,是将标准输出传递给主程序的变量,而不是返回值!请看以下程序 test.sh…
1.获取shell函数调用的返回值: #!/bin/sh info() { cat jlb.sh } res=`info` echo "state: "$? echo "res: "${res} 说明:res=`info`这一行为调用函数info,里面的符号`不是单引號,而是Esc按键以下的那个.另外$?返回的为上一条命令的运行状态,不是返回值. 2.获取shell命令的返回值,原理同上,比如: #!/bin/sh info=`cat jlb.sh` echo &q…
Shell提供了很多字符串和文件处理的命令,如awk.expr.grep.sed等命令,还有文件的排序.合并和分割等一系列的操作命令.下面重点总结下Shell字符串处理.文本处理以及各类命令及函数用法. 先从expr命令开始梳理,expr 引出通用求值表达式,可以实现算术操作.比较操作.字符串操作和逻辑操作等功能. 1) 计算字符串长度字符串名为string,可以使用命令 ${#string} 或 expr length ${string} 两种方法来计算字符串的长度.若string中包括空格,…
1.shell函数的定义与调用 2.shell函数参数 3.函数返回值 1.shell函数的定义与调用 Shell 函数定义 说明 函数定义的简化写法 函数调用 function name() {    statements    [return value]} function是 Shell 中的关键字,专门用来定义函数: name是函数名: statements是函数要执行的代码,也就是一组语句: return value表示函数的返回值,其中 return 是 Shell 关键字,专门用在…
线上有个网站业务部署在tomcat上,由于频繁上线修改,需要经常启动tomcat.tomcat服务自带的bin下没有重启脚本,下面分享一例脚本发版和tomcat重启脚本: 1)现将业务代码从svn里下载到本地,首次下载后,后续就使用svn update更新代码即可.     发版脚本: [root@redmine ~]# cd /Data/webroot_svncode/xqsj_app/banshanbandao/bsbd_war/ [root@redmine bsbd_war]# ls RO…
网站开发正变得越来越专业,涉及到各种各样的工具和流程,迫切需要构建自动化. 所谓”构建自动化”,就是指使用构建工具,自动实现”从源码到网页”的开发流程.这有利于提高开发效率.改善代码质量. 本文介绍如何使用make命令,作为网站的构建工具.以下内容既是make语法的实例,也是网站构建的实战教程.你完全可以将代码略作修改,拷贝到自己的项目. (题图:国家考古博物馆,西班牙,摄于2014年8月) 一.Make的优点 首先解释一下,为什么要用Make. 目前,网站项目(尤其是Node.js项目)有三种…
NAME getopt - 解析命令行选项(加强版) SYNOPSIS getopt optstring parameters getopt [options] [--] optstring parameters getopt [options] -o|--options optstring [options] [--] parameters (译注: 后面的译文中将分别称呼这3种语法格式为语法1.语法2.语法3 请区分option.parameter.argument.option argum…
问题引出:A进程与B进程各自独立,都是服务器进程,常驻系统,互不相干.在某次重启A进程后,发现由于固定监听的端口被占用而无法启动.检查,发现是B进程占用了该端口,检查B进程代码,没有相关的打开该固定端口和打开随机端口的动作.问题百思不得其解. 最终,发现B进程不只是占用了该固定端口,还打开了很多本该只有A进程才会打开的句柄资源.很快联想到A是B的子进程,B是A fork之后在子进程中运行的.进一步分析,发现A进程有着类似于监控B进程的作用,在特定情况下,会调用B进程的监控脚本来重启B,调用时用的…