首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Shell变量

2.变量类型 Shell中按照变量的作用域和生命周期,Shell变量可分为四大类: (1)永久环境变量:需要修改配置文件,变量永久生效。...(2)临时环境变量:使用export命令行声明即可,变量Shell脚本进程结束后仍然有效,但在关闭当前Shell会话后失效。...(3)全局变量:在脚本中定义,仅在当前Shell脚本中有效,其他Shell脚本进程不能访问,其作用域从定义的位置开始,到脚本结束或被显示删除的地方为止。...注意,全局变量既可以在Shell函数内定义,也可以在Shell函数外定义,因为Shell函数内定义的变量默认为global,且作用域从“函数被调用时执行变量定义的地方”开始,到脚本结束或被显示删除的地方为止...---- 参考文献 [1]Shell变量.Linux Shell脚本教程:30分钟玩转Shell脚本编程 [2]Shell脚本调用另一个脚本的三种方法

1.1K20

Shell 变量

变量类型 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。...2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。...3) shell变量 shell变量是由shell程序设置的特殊变量。...shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行. ---- Shell 字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了...定义数组 在Shell中,用括号来表示数组,数组元素用”空格”符号分割开。定义数组的一般形式为: 数组名=(值1 值2 ...

2K40

shell 变量

从指定位置截取字符串 图片 “:3”表示从变量test的第4个字符开始,截取到变量值的末尾 “: -3”表示截取变量值的最后三个字符 从指定位置截取,截取指定长度 图片 “:2:3”表示从第三个字符开始...,截取三个字符 “: -3:2”表示从倒数第三个字符开始,截取二个字符 获取变量的长度 图片 变量名前加一个#号,即可输出变量的长度。...及左侧的所有字符 删除某个字符串右侧的所有字符 图片 “%7*”删除字符串中从右往左第一个7及右侧的所有字符,7也可以替换成其他字符 图片 “%%4*”删除字符串中从右往左最一个4及右侧的所有字符 替换变量中的字符串...图片 把变量中的123替换为abc 图片 替换变量中所有123为abc 图片 分别替换行首的123,行尾的123

47920

Shell变量

定义变量的基本格式为"变量名=变量值",注意等号两边没有空格,在变量名称前面添加美元符号"$",可以引用一个变量的值,使用echo命令可以查看变量。...变量运算 只能进行简单的整数运算,基本格式如下,注意运算符和变量之间必须至少有一个空格,变量必须是整数,不能是字符串或者小数 expr 变量1 运算符 变量2 # x=1 # y=2 # expr...$x + $y 整数运算还可以使用$(()),注意是双层括号 # sum=$((1+2)) #echo $sum #echo $((1+2+3)) 环境变量 env查看当前工作环境下的环境变量,PATH...变量用于设置可执行程序的默认搜索路径,Linux系统将在PATH变量指定的目录范围查找对应的可执行文件,如果找不到会提示“command not found",HOME 表示用户宿主的主目录 PATH=...位置变量也叫位置参数 $0对应的是当前Shell脚本程序的名称。

68930

shell学习(八)Shell变量

本地变量 定义Shell变量变量名不需要加美元符号 $ 本地变量只在当前shell生存期中有效 变量定义 变量名要求:字母、数字、下划线组成,只能是字母或下划线开头,变量名严格区分大小写 取出变量值...单引号,强引用 双引号,输出引号内所有内容,识别特殊符号,弱引用 无引号,连续的符号可以不加引号,有空格则有歧义,最好使用双引号 反引号,引用命令执行结果,等于$()用法 特殊参数变量 shell的特殊变量...,用在如脚本,函数传递参数使用,有如下特殊的,位置参数变量 $0 获取shell脚本文件名,以及脚本路径 $n 获取shell脚本的第n个参数,n在1~9之间,如$1,$2,$9,大于9则需要写...${10},参数空格隔开 $# 获取执行的shell脚本后边的参数总个数 $* 获取shell脚本所有参数,不加引号等同于$@作用,加上引号"$*"作用是接收所有参数为单个字符串,"$1 $2...上一次命令执行状态返回值,0正确,非0失败 $$ 当前shell脚本的进程号 $!

74600

Linux Shell(一)——Shell变量

SHELL:当前使用的SHELL HISTSIZE:历史命令的最大条数 MAIL:当前用户的邮箱目录 PATH:可执行文件的查找路径。...当前shell的PID 可以通过如下命令查看当前shell的PID: echo $$ ?...1.3 环境变量与局部变量的区别 环境变量相当于全局变量,它可以被子进程继承;而局部变量只能在当前shell中使用。那么,什么是子进程呢? 1.4 什么是子进程?...2.3 取消变量 unset 变量名 3 环境变量 自定义变量相当于局部变量,只能在当前shell中使用;而环境变量相当于全局变量,可以在子shell中使用。...他会把系统中所有的环境变量都数出来,如下所示: [root@iZ28st035lsZ ~]# env TERM=xterm-256color SHELL=/bin/bash CATALINA_HOME=

12K70

Shell脚本——变量

脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则 在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储...当然,如果有必要,你也可以使用 Shell declare关键字显式定义变量的类型,但在一般情况下没有这个需求,Shell 开发者在编写代码时自行注意值的类型即可。...一、变量定义 Shell 支持以下三种定义变量的方式: variable=value variable='value' variable="value" variable 是变量名,value 是赋给变量的值...注意,赋值号=的周围不能有空格 Shell 变量的命名规范和大部分编程语言都一样: 变量名由数字、字母、下划线组成; 必须以字母或者下划线开头; 不能使用 Shell 里的关键字(通过 help 命令可以查看保留关键字...四、系统变量 4.1、常用系统变量 HOME家目录、 PWD当前目录、 SHELL默认解释器、 USER当前用户等 4.2、显示当前Shell中所有变量:set 五、特殊变量 $#: 命令行参数的个数

1.5K20

shell变量详解

从这种意义上来说,用户可以有许多 shell,每个shell都是由某个shell(称为父shell)派生的。 在子shell中定义的变量只在该子shell内有效。...如果在一个shell脚本程序中定义了一个变量,当该脚本程序运行时, 这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中 被改变,可以使用export...父shell与子shell 3.4、全局变量 使用export命令将本地变量输出为当前shell中的环境变量 所有用户及shell都可以使用,可以在/etc/profile /etc/bashrc下永久定义...变量类型 作用域 生命周期 本地变量 当前shell环境(子shell不能用) 脚本结束或终端结束 环境变量 当前shell或者子shell 当前进程结束 全局变量 所有用户及shell环境 关机 内置变量...视频:shell本地和环境变量 视频:shell内置变量 视频:shell变量取值及扩展变量

51820

Shell变量Shell变量的定义、赋值和删除

变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则。...在 Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。...当然,如果有必要,你也可以使用 Shell declare 关键字显式定义变量的类型,但在一般情况下没有这个需求,Shell 开发者在编写代码时自行注意值的类型即可。...Shell 变量的命名规范和大部分编程语言都一样: 变量名由数字、字母、下划线组成; 必须以字母或者下划线开头; 不能使用 Shell 里的关键字(通过 help 命令可以查看保留关键字)。...demo]$ echo $log 严长生正在编写Shell教程,教程地址:http://c.biancheng.net/shell/ 只读变量 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变

4.2K10

8.78.8 shell变量

变量的累加 全局变量export b=2 格式 export 变量名=变量值 全局变量仅仅在子shell里面生效 运行bash 命令,直接进去 子shell unset变量 //取消变量...[root@hf-01 ~]# echo $hanfeng //会发现变量为 空 [root@hf-01 ~]# 在终端1 下,在进入一个子shell shell它是一个进程,打开一个...[root@hf-01 ~]# echo $hanfeng [root@hf-01 ~]# 这是因为这个变量仅仅在上一个shell中 在终端1下,退出当前shell,执行命令 exit ,并在此执行...,在终端1下,在打开shell之后,只要执行export 命令 ,在这下面所有的子shell 都会变量值,但在终端2下,变量依旧是不会生效 全局变量是向下的,在这个shell的基础上生成子shell,...子子shell,子子子shell,而不会向上生效 取消变量,unset命令 unset命令,取消变量 格式,unset 加变量名称 [root@hf-01 ~]# hanfeng=linux [

36410

shell模板变量替换

我们经常使用一些模板语言来处理一些变量替换。比如jsp,php,velocity,freemarker,thymeleaf等。那对于shell来说,应该怎样替换变量呢。有一种很简单的办法可以做到。...在datax是阿里开源的一个异构数据源同步框架,其配置文档是json的,我想要用shell去调用执行pg到pg的数据同步,需要根据我的配置生成对应的配置文件。...要是使用shell,这样也可以做到: 渲染脚本 #!...第一shell变量的定义,变量赋值时,等号(=)`两边必须没有空格。 第二, eval的用法。...但我们想要直接去最后一个参数,需要使用变量的值作为变量的value。eval就会再次扫描一遍。 第三,cat <<EOF 这是一个多行输入的操作。

2.3K30
领券