首页
学习
活动
专区
圈层
工具
发布

linux shell函数定义和调用

说起函数调用,相信大家也不会陌生,然而对于初学Shell的我来说,Shell中函数调用方式却有点让我不太习惯,自己也走了不少的弯路,因为传递参数时出了一个很“自然”的错误,也让我吃了不少的苦头,所以总结一下...Shell中函数的调用方法。...一、Shell中函数的定义 为了方便程序和管理和模块化并减少代码的重复,函数的确是一个好东西。...需要传递两个参数); 二、自定义函数的例子 不知道大家的情况如何,反正一开始我就觉得很别扭,因为在C语言中,例如我定义一个函数int cmp(int a, int b),那么我就会在函数中使用到函数头中声明的变量a和b...,而在Shell中却没有定义参数,那我的函数又需要用到这两个参数,怎么办好呢?

2.5K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux常用shell语法和命令

    ** $#:添加到shell的参数个数 $0:shell本身文件名 1 1~n:添加到shell的各个参数值 ∗和*和@在不加引号的时候,都可以表示一个参数数组;而在加了引号之后,”∗"就表示一个参数字符串...(( )) 和 [ ] 这两个在shell中比较常见,这两个和expr命令有些类似,也是用于整数计算。 这两个对与expr的优点是:运算符号全部不需要转义。...和上面的方法不同的是,该方法是把批命令放在现行的shell中执行,而不是子shell中执行。...在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。...du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

    4.8K20

    Linux进阶命令和Shell编程

    进程控制语句甚至于内置的变量和函数。...实际上 awk 的确拥有自己的语言:awk 程序设计语言, 三位创建者已将它正式定义为“样式扫描和处理语言”。...sort语法: 例如: 4.Shell编程4.0Shell介绍 Shell是用户与内核进行交互的一种接口,目前最流行的Shell是bash Shell;Shell也是一门编程语言(解释型的编程语言),即...4.1 Shell的执行方式 首先需要赋予+x的权限,即执行的权限 bash或sh +脚本,就是sh加空格加脚本名称 在脚本的路径前加". " 4.2变量和运算符 变量:Shell中的变量分为“系统变量...”和“用户自定义变量”,可以通过set命令查看当前所有的变量 系统变量:$HOME、$PWD、$SHELL、$USER等等。

    2K80

    linux shell脚本sh和source区别

    shell中使用source xxx.sh ,是直接运行xxx.sh的命令,不创建子shell,而sh则创建子shell,子shell里面 的变量父shell无法使用,对环境变量的修改也不影响父shell...父shell中的局部变量,子shell也无法使用,只有父shell的环境变量, 子shell能够使用。...sh 创建了子shell和当前的shell并行执行,子shell中执行,脚本设置的变量不会影响当前shell。...一旦子Shell中的执行完毕,此子Shell随即结束,回到父Shell中,不会影响父Shell原本的环境。...sh执行脚本 source执行脚本 还有个办法可以在父shell和子shell中分别加上 echo $SHLVL ,显示当前运行层级,可以明显的看出来: 两种执行层级不同 [root@bogon home

    5.4K10

    Mac的shell命令大全

    最近实习发现自己linux命令掌握的很差,特此再整理一下自己所遇到的命令 查看自己的maxOSX所用的是什么shell echo $SHELL 查看所有支持的shell cat /etc/shells...符号连接,是否可读写及是否可执行 ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G) ls -lt 显示文件,按照修改时间排序 cd ~ 切换到用户目录,每次登录shell...– yonghuming(有空格) vi 编辑文件 vim也可以,更强大,比如通常要再.bash_profile中进行配置 user/yonghuming 下的文件 .bash_history 历史的shell...指令,可以cat .bash_history查看我们输入过哪些指令 .bash_profile 配置环境变量的文件 最后,真有人和我一样好奇——Mac的Terminal的窗口,”ttys000″是什么意思

    83350

    Linux——shell

    什么是shell? shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器) 。它接收用户输入的命令并把它送入内核去执行。起着用户与系统之间进行交互的作用。 ?...shell的功能: 命令行解释 命令的多种执行顺序 通配符 命令补全、别名机制、命令历史 I/O重定向 管道 命令替换(` ` 或$( ) ) shell编程语言 shell可以执行——内部命令、外部命令...shell命令分为: 内部(内置)命令 内部命令是shell本身包含的一些命令,这些内部命令的代码是整个shell代码的一个组成部分; 内部命令的执行是shell通过执行自己的代码中的相应部分来完成的...外部(外置)命令 外部命令的代码则存放在一些二进制的可执行文件或者shell脚本中; 外部命令执行时,shell会在文件系统中指定的一些目录去搜索相应的文件,然后调入内存执行。...shell变量PATH中 ?

    12.7K30

    Linux系统安全 | Linux中的Shell和Bash

    我们学习linux时,经常会遇到bash,bash也是指的是某个服务器的权限。那么,这两者有什么区别和联系呢?...我们先来看一些Linux系统的结构 位于最内层的是硬件,然后是Linux系统内核。shell介于用户和系统内核之间。 那么shell的功能是什么呢?...所以,我们就不难理解Linux中的shell有多种类型了吧,这其中最常用的几种是 Bourne shell(sh)、Bourne Again shell(bash) 和 Debian Almquist...bash bash (Bourne Again shell),它是Linux操作系统缺省的shell,是Bourne shell的扩展,简称Bash,与Bourne shell完全向后兼容,并且在Bourne...而且在Redhat系列的Linux 操作系统中的 /bin/sh 是 /bin/bash 的符号链接。所以,用 sh执行脚本和bash 执行脚本,效果是一样的。所以我们通常会在脚本第一行写 #!

    2K20

    Linux系统安全 | Linux中的Shell和Bash

    学安全的我们,经常会听到说获得某服务器的shell,就是指获得某个服务器的操作权限。我们学习linux时,经常会遇到bash,bash也是指的是某个服务器的权限。那么,这两者有什么区别和联系呢?...我们先来看一些Linux系统的结构 ? 位于最内层的是硬件,然后是Linux系统内核。shell介于用户和系统内核之间。 那么shell的功能是什么呢?...所以,我们就不难理解Linux中的shell有多种类型了吧,这其中最常用的几种是 Bourne shell(sh)、Bourne Again shell(bash) 和 Debian Almquist...而且在Redhat系列的Linux 操作系统中的 /bin/sh 是 /bin/bash 的符号链接。所以,用 sh执行脚本和bash 执行脚本,效果是一样的。所以我们通常会在脚本第一行写 #!...tty 、pty 和 pts 这里再多说一点,说说我们经常看到的 tty 和 pts 。 tty就是linux里面终端的意思,你每一个可以输入shell进行解析的当前框,就是终端。

    3.4K10

    Mac和Linux哪个适合编程?

    首先介绍下Mac和Linux发展历史,了解一个操作系统的历史能更好读懂其特性,现在很多人都觉得Mac和Linux属于一个分支出来的,从演变的历史看属于截然不同的两个分支。 ?...Mac和Linux发展历史 Mac属于苹果公司专属的一个操作系统,整体架构显示出独特性,在了解特性之前首先要学习一个基本常识,微内核和宏内核两种,像Linux属于典型的宏内核结构,就是所有的硬件资源都是集成在一体...Mac这个比较特殊采用了微内核和宏内核混合的方式,这也是苹果系列的产品性能体验非常棒的一个重要原因,在设计架构的时候显得更加超前一些。...Mac的诞生和乔布斯有着千丝万缕的关系,由于Mac版本的迭代非常多,在这就不做一一的介绍,乔布斯离开苹果之后成了一家电脑公司NeXT,打造一款带操作系统的电脑,为了节省时间乔布斯选择了使用卡耐基梅隆大学的...Mac和Linux各自特性 Mac主要针对设计人员和商务人士,当然也可以在上面编程写代码,很多程序员都有一个Mac情怀,总想着应该有一个苹果的电脑,苹果电脑主要在产品设计上以及生态链上都有保障,里面很多编程环境都是自带的

    3.6K30

    Mac下Shell脚本基础用法

    因为不常用shell,老是边用边查,现在做个小笔记。所有内容来源:Shell 教程 一、第一个shell脚本 随便一个编辑器编写一个test.sh的文件,然后保存在你想放的路径,并加入如下代码: #!.../test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr...三、Shell 基本语法 3.1、变量 定义一个变量名name并赋值为studyShell name="studyShell" 注意:变量名和等号之间不能有空格,这与我们熟悉的Objective-C(其它也是...3.5、基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现...,例如 awk 和 expr,expr 最常用。

    5.3K40

    linux awk 数组,shell数组和awk数组

    在shell中,用括号来表示数组,数组元素用空格符号分割开。类似于C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0 1....-mtime +30 -exec rm {} \; done 二、awk数组 awk的数组,一种关联数组(Associative Arrays),支持多维数组,下标可以是数字和字符串。...因无需对数组名和元素提前声明,也无需指定元素个数 ,所以awk的数组使用非常灵活。...print “a[“i”] = ” a[i];print “length = ” len}’ a[1] = a a[2] = b a[3] = c a[4] = d length = 4 求1月份相同名字和总和...max)max= 3 打印第三字段最大行[root@localhost~]# awk ‘BEGIN{max=0}{a[0]=3;if(3>max)max= e f 3 g h 3 11.合并file1和file2

    12.2K20
    领券