首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

shell脚本编程之路3

[TOC] 0x09 shell编程函数 描述:Bash(Bourne Again shell)也跟其他编程语言一样也支持函数,一般在编写大型脚本中需要用到,函数可以让我们将一个复杂功能划分成若干模块,...Shell 函数必须先定义后使用 Shell 函数与其他高级语言的函数有相似之处,也有返回值、删除函数、终端调用函数(参和递归)等等....来获取执行的结果; shell中函数参与脚本参是一致的,但是得注意 $0 代表任然是父脚本的名称; 删除函数 描述:像删除变量一样,删除函数也可以使用 unset 命令,不过要加上 .f 选项,如下所示...WeiyiGeek.函数嵌套删除 0x09 shell脚本包含 描述:Shell文件包含像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本,也能在函数中进行调用外部变量 脚本包含.../bin/bash -xv,其他就不用做任何操作了,这是最便捷的方法. shell切分和提取 进行切分文件名,提取文件名 与 提取文件扩展名,需要用到的几个操作符有:%、%%、#、##。

3.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

Shell:子shell概念

如果在Shell脚本中遇到子脚本(即脚本嵌套),就会先执行子脚本的内容,完成后再返回父脚本继续执行父脚本内后续的命令及语句。...可以使用$BASH_SUBSHELL变量来查看从当前进程开始的子shell层数,$BASHPID查看当前所处BASH的PID,这不同于特殊变量$$值,因为$$大多数情况下都会从父shell中继承。...注意:子 Shell 虽然能使用父 Shell 的的一切,但是如果子 Shell 对数据做了修改,比如修改了全局变量,那么这种修改只能停留在子 Shell,无法传递给Shell。...不管是子进程还是子 Shell,都是“传子不父”。...父shell通过fork-exec的方式创建子shell,导致父shell和子shell除了维持“父子关系”外,没有其他关联。

1.3K30

YARN——Container启动上下文

上下文中包含了任务启动所依赖的资源(包括jar,资源文件等)、环境变量、启动参数等。 那么启动上下文具体是怎样传递给yarn,yarn是否进行了处理,进行了怎样的处理,本文就来聊聊这些相关内容。...对于AM而言,客户端向ResourceManager(RM)提交任务,提交的任务请求中就包含了上下文信息,RM收到请求后进行调度,最后通过NodeManager(NM)的心跳告知NM启动AM,在这个过程中将上下文信息传递给...通过源码分析,NM启动任务前,根据上下文信息,转换成具体的启动脚本,具体处理包括: 创建脚本构造器 根据不同的平台(windows或unix)创建不同的脚本构建器,然后写入脚本的头,例如unix中的.../bin/bash"。 变量替换 变量替换指的是对上下文中环境变量、启动参数中的变量进行替换,主要替换的是日志的路径。...从NM构造的启动脚本中看到对这些资源文件都做了软链接,那么软链接的路径又是如何决定的? 这些资源文件能否给其他任务使用?资源文件什么时候删除。。。

46320

shell脚本结构、date命令、变量

/bin/bash脚本内容中以#开头的行作为解释说明 编写脚本时备注:作者、时间、功能等信息,方便之后查看 脚本的名字用“.sh”结尾,用于区分这是一个shell脚本 执行方法 给脚本添加执行权限“...20.4 shell脚本中的变量脚本中使用某个字符串较频繁,并且字符创长度很长,此时就应该使用变量来代替该字符串。...说明: 该脚本中将变量d定义为了当前日 注意: shell脚本中将命令结果定义为变量时要使用反引号,调用变量的方法:“$变量名” 。...shell脚本预设变量 有时候使用类似/etc/init.d/iptables restart的命令,前面的/etc/init.d/iptables文件其实就是一个shell脚本,后面的字符串restart...3 6 sum=3+6=9 Result of option.sh 说明: 脚本中的$1和$2即为shell的预设变量,分别为脚本的第一个参数和第二个参数,shell脚本预设变量是没有限制的,注意$0

69821

Linux基础学习(八)Shell脚本

shell脚本编程linux系统管理拥有着极为强大的能力,可以说,当前的工作已经日益偏向自动化了。如果我们极不愿意去学习这方面的知识,可能在未来的工作中颇有不便。.../bin/bash为第一行,声明文件为bash脚本文件。 3、变量$符 变量是编程中最重要的元素之一,倘若一个程序均用常量编写,那么参数改变或版本更迭中将遇到极大的麻烦。...通常,引用变量的内容变量名前增加一个$符即可。 4、引号 引号分为单引号和双引号,使用单引号时,引号中的内容将直接被引用,不考虑特殊字符的影响。.../bin/bash for NAME in li zhang wang #for语法 NAME变量 in 语法 变量的值(循环3次) do #开始循环 ADDRESS=$NAME@asfor.cn...3、语法:TEST=$(命令) 意义:将命令执行的结果作为值传递给变量 4、ping检测语句 ping -c1 172.25.254.1-10 5、pidof SERVERNAME 查看服务的进程ID

1.3K40

写好Shell脚本那些不得不知道的细节

每执行一次 shift命令,删除 $1位置变量,并使其他的所有位置变量向左移动一个位置。...shell中有一组特殊的变量,其变量名和变量值只有shell本身才可以设置。...如: "$#" 记录传递给shell的自变量个数 "$*" 传递给脚本或函数的所有参数 $* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n"...单中括号[]中只能用 -a、 -o、 !,不能用 &&, &&只能在双中括号 [[]]或两条命令之间使用: [[-f" [-f" 15. 脚本中的路径 脚本里,切忌使用 ....注:运行一个 shell 脚本时会启动另一个命令解释器。 sourceFileName 作用:在当前 bash 环境下读取并执行 FileName 中的命令。

1.8K10

shell脚本编写思路

我们要知道bash和sh不是一个东西,我们需要了解,bash完全兼容sh,也就是说,用sh写的脚本可以不加修改的bash中执行。...接着我们对shell变量类型做个了解,有三种变量: 1 局部变量 局部变量脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。...shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行 shell中一些比较特殊的变量: 特殊变量 含义$0 当前脚本的文件名传递给脚本或函数的参数。...$# 传递给脚本或函数的参数个数。$* 传递给脚本或函数的所有参数。传递给脚本或函数的所有参数。被双引号包含时,与​* 稍有不同,下面将会讲到。$? 上个命令的退出状态,或函数的返回值。...$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。这些变量我们留在这里备份,有用到就可以查。

1.5K30

Linux shell 程序设计1——安装及入门

开头,指名要解释、执行该脚本shell,如: #! /bin/bash 其余以#开头的行为注释。除此之外,一个shell脚本还包括变量设定、内置命令、函数、以及流程控制语句。.../脚本名 参数 或 source 脚本名 参数 以这种方式执行的shell脚本bash不会创建子shell,而是自己的环境中执行,执行完成后,若脚本中有修改环境的地方,则bash的环境就会改变...shell脚本由于是脚本程序,无需编译,所以排错只能依靠阅读源码排错或者是使用 bash -x 脚本名 参数 的执行方式追踪脚本的执行过程 6、shell脚本执行原理: 用户登录之后,就会进入一个shell...环境,称之为父shell其他脚本执行时称之为子shell。...若执行的脚本,则检查BASH_ENV变量,并执行该变量所指向的文件。

1.4K60

Python自动化运维之shell终极指南

--> 方式(工具+脚本脚本shell脚本 其他脚本 1.1.2 shell简介 shell定位 shell 命令解释器 shell分类...sleep 0.5 done 2.3.4 循环退出 退出简介 场景:某些循环场景下,我们需要临时跳出循环,做一些其他动作 break示例 跳出整个循环 #!...您好,我们是 aaa 您好,我们是 bbb 您好,我们是 ccc 脚本参函数调用 脚本参数 /bin/bash 脚本名 参数 函数体调用参数...} # 调用函数 dayin $1 脚本参函数调用(生产用) 关键点: 只要是涉及到参,我们都采用本地变量的方式接受,不将其直接放到命令中,避免误解.../bin/bash # 脚本参函数调用--生产用 # 定义本地变量 ARG="$1" # 定义函数 dayin(){ xingming="$1"

1.5K20

linux的shell编程入门

典型的脚本语言有,JavaScript,Python,shell等。 其他常用的脚本语句种类 PHP是网页程序,也是脚本语言。...f、脚本中的引号都是英文状态下的引号,其他字符也是英文状态。 1.3 shell脚本的执行 1.3.1 执行脚本的办法 sh/bash scripts.sh chown +x ..../bin/bash user=`whoami` 1.4 Shell变量 1.4.1 什么是变量 变量可以分为两类:环境变量(全局变量)和普通变量(局部变量) 环境变量也可称为全局变量,可以创建他们的...Shell及其派生出来的任意子进程shell中使用,环境变量又可分为自定义环境变量Bash内置的环境变量 普通变量也可称为局部变量,只能在创建他们的Shell函数或Shell脚本中使用。...$@ 获取当前shell的所有参的参数,不加引号同$*;如果给$@加上双引号,例如: “$@”,则表示将所有参数视为不同的独立字符串,相当于“$1” “$2” “$3” “……”,这是将参数传递给其他程序的最佳方式

8K30

Shell脚本学习1

Shell脚本学习 1、Shell简介 Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本 Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种...(a-z,A-Z) 中间不能有空格,可以使用下划线(_) 不能使用标点符号 不能使用bash里的关键字(可用help命令查看保留关键字) 使用变量变量名前面加美元符号($)即可...:局部变量脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。...特殊变量 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。 $# 传递给脚本或函数的参数个数。...$* 传递给脚本或函数的所有参数。 $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同 $? 上个命令的退出状态,或函数的返回值。 $$ 当前Shell进程ID。

28920

Shell编程基础篇-上

典型的脚本语言有,JavaScript,Python,shell等。 其他常用的脚本语句种类 PHP是网页程序,也是脚本语言。...f、脚本中的引号都是英文状态下的引号,其他字符也是英文状态。 1.3 shell脚本的执行 1.3.1 执行脚本的办法 sh/bash scripts.sh chown +x ..../bin/bash user=`whoami` 1.4 Shell变量 1.4.1 什么是变量 变量可以分为两类:环境变量(全局变量)和普通变量(局部变量) 环境变量也可称为全局变量,可以创建他们的...Shell及其派生出来的任意子进程shell中使用,环境变量又可分为自定义环境变量Bash内置的环境变量 普通变量也可称为局部变量,只能在创建他们的Shell函数或Shell脚本中使用。...$@ 获取当前shell的所有参的参数,不加引号同$*;如果给$@加上双引号,例如: “$@”,则表示将所有参数视为不同的独立字符串,相当于“$1” “$2” “$3” “……”,这是将参数传递给其他程序的最佳方式

2K00

使用shell脚本和node命令行工具来自动化部署打包前端项目

将围绕以下几点来展开: shell基本用法(变量,循环,参,运算符,流程控制等) 使用shell脚本自动将项目打包部署到git服务器 使用nodeJs编写命令行工具 1. shell基本介绍及用法 Shell...Shell 传递参数 我们可以执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。...字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,这里我们使用expr。...命令N done 了解完如上知识点后,我们来看看这些能做些什么。 2. 使用shell脚本自动将项目打包部署到git服务器 一个git提交的例子 #!...git.sh文件,输入以上脚本,保存,然后我们后面要提交代码时,只需要执行 bash git.sh '你的注释',就可以将代码提交到服务器上了,是不是简化了我们提交的步骤呢 vue项目部署 我一张图教你快速玩转

4.4K30

shell系统给定变量大全——及使用方法

注:以下内容应用与【*.sh】文件 系统给定的变量 Shell编程中,系统给定的变量(也称为预定义变量)是由系统预设的,用于提供有关脚本运行的环境和状态的信息。...这些变量通常不需要用户定义或修改,可以直接在脚本中使用。...变量名 作用 $0 当前脚本的名字 $n 传递给脚本或者函数的参数,n表示第几个参数 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或者函数的所有参数 $$ 当前shell...主机类型 $LINENO 当前行号 $OSTYPE 操作系统类型 $PATH PATH路径 $PPID 当前shell进程的父进程ID $PWD 当前工作目录 $SECONDS 当前脚本运行秒数 $TMOUT...不为0时,超过指定的秒将退出shell $UID 当前用户ID 使用方法: 编辑脚本文件。

18630

Bash特殊变量:$0, $#, $*, $@, $?, $$实战

linux下配置shell参数说明 前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。...例如,$ 表示当前Shell进程的ID,即pid,看下面的代码: $echo $$ 运行结果 29949 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。...$# 传递给脚本或函数的参数个数。 $* 传递给脚本或函数的所有参数。 $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。 $?...$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。 命令行参数 运行脚本时传递给脚本的参数称为命令行参数。...不过,也有一些命令返回其他值,表示不同类型的错误。 下面例子中,命令成功执行: $./test.sh Zara Ali File Name : .

91140

如何入门 Bash 编程

Bash 脚本参数 终端中运行命令与 Shell 脚本中运行命令之间的区别在于前者是交互式的。终端中,你可以随时进行调整。... Shell 脚本中,有一些预定义的可以反映脚本启动方式的变量。初始变量是 $0,它代表了启动脚本的命令。下一个变量是 $1 ,它表示传递给 Shell 脚本的第一个 “参数”。... Shell 中交互如下所示: $ echo hello world hello world 非交互式 Shell 脚本中,你 可以 以非常直观的方式执行相同的操作。...但是通过创建一个接受我的输入的脚本,我可以一次将几个 PDF 文件全部提交给脚本。该脚本按顺序处理了每个文件,这可能需要半小时或稍长一点时间,但是我可以用半小时来完成其他任务。...学习这些技巧的一种方法是阅读其他人的脚本。了解人们如何在其系统上自动化死板的命令。看看你熟悉的,并寻找那些陌生事物的更多信息。 另一种方法是下载我们的 Bash 编程入门 电子书。

93030

解释型语言-shell

bash完全兼容sh,也就是说,用sh写的脚本可以不加修改的bash中执行 二、shell特点 简单性:Shell是一个高级语言;通过它,你可以简洁地表达复杂的操作。...可移植性:使用POSIX所定义的功能,可以做到脚本无须修改就可在不同的系统上执行。 开发容易:可以短时间内完成一个功能强大又妤用的脚本。 三、常见错误 报错:-bash: ..../test.sh #执行脚本 实例二 脚本使用read命令从stdin(标准输入)获取输入并赋值给PERSON变量,最后stdout(标准输出)上输出 #!...传递给脚本或函数的参数。...$# 传递给脚本或函数的参数个数。 $* 传递给脚本或函数的所有参数。 $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。 $?

1.5K31

Shell base用法描述

bash是Linux和Unix下的shell。 本教程关注的是 Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 日常工作中被广泛使用。.../bin/bash。 #! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。 1. base shell 基础知识 1.1....name 变量类型 shell中存在三种变量 局部变量:::局部变量脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。...参 使用方法 我们使用脚本文件的时候可以向文件中传递一些参数,脚本则可以使用n这种方式来获取参数,n这种方式来获取参数,0代表文件名,1代表的是第一个参数,1代表的是第一个参数,2代表第二个参数,以此类推...参考文档 base shell 语法笔记 shell脚本实现ssh自动登录远程服务器示例 linux expect的使用

28220

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券