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

bash 变量和参数

对一个编程脚本来说,最最基础的当然是变量。 对大多数开发者来说,变量也是最不值得大说特说。 但 bash变量一些特别的地方值得说说,谨防跌坑。...我 bash 生涯第一坑。bash 中,赋值 = 两边不能有空格。 有空格又会怎样?...双引号,弱引用,变量会被替换 echo "foo \$a"; # ? 转义,变量不会被替换 变量类型 这里当然不是说字符串、整形什么,其实 bash变量都可以理解为字符串。...bash 中有四种类型变量,它们是环境变量、本地变量、位置变量和特殊变量。 环境变量 参看维基百科环境变量,这里不做赘述。 本地变量 我们上面的那么多例子其实就是本地变量。...本地变量作用域为当前脚本。一个子类,局部变量,作用域是当前代码块,比如函数中变量。 位置变量 其实就是我们说参数了,也是特殊变量一种,因为常用,单独拿出。

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

bash 变量和参数

对一个编程脚本来说,最最基础的当然是变量。 对大多数开发者来说,变量也是最不值得大说特说。 但 bash变量一些特别的地方值得说说,谨防跌坑。...我 bash 生涯第一坑。bash 中,赋值 = 两边不能有空格。 有空格又会怎样?...双引号,弱引用,变量会被替换 echo "foo \$a"; # ? 转义,变量不会被替换 变量类型 这里当然不是说字符串、整形什么,其实 bash变量都可以理解为字符串。...bash 中有四种类型变量,它们是环境变量、本地变量、位置变量和特殊变量。 环境变量 参看维基百科环境变量,这里不做赘述。 本地变量 我们上面的那么多例子其实就是本地变量。...本地变量作用域为当前脚本。一个子类,局部变量,作用域是当前代码块,比如函数中变量。 位置变量 其实就是我们说参数了,也是特殊变量一种,因为常用,单独拿出。

1.4K00

Shell内部变量

Shell内部变量是Linux提供一种特殊类型变量,这种变量在程序中做出判断,在shell程序内这些变量值是不能被改变变量 解释 $0 脚本自身名字 $# 位置参数总数 $?...上一条后台运行进程PID $$ 当前进程PID $* 所有位置参数看成一个字符串 $@ 每个位置参数被看成单独字符串 $1~$n 位置参数:$1是第1参数、$2是第2参数 案例: > vim sh1.../bin/bash echo "位置参数总数:$#" echo "所有的参数:$*" echo "所有的参数:$@" echo "第一个位置参数:$1" echo "第二个位置参数:$2" shift...执行: > bash sh1.sh aa bb cc 位置参数总数:3 所有的参数:aa bb cc 所有的参数:aa bb cc 第一个位置参数:aa 第二个位置参数:bb 第三个位置参数: 上一步执行是否成功...:0 上一条后台运行进程PID: 注意第三个位置参数没有输出,原因是每执行一次 shift 命令,位置变量个数就会减一,而变量值则提前一位。

82300

(23)Bash位置参数变量

位置参数变量 位置参数变量主要是用来向脚本当中传递参数或数据变量名不能自定义,变量作用是固定。...位置参数变量 作用 $n n为数字,$0代表命令本身,$1-9代表第一到第九个参数,十以上参数需要用大括号包含,如9代表第一到第九个参数,十以上参数需要用大括号包含,如9代表第一到第九个参数,十以上参数需要用大括号包含...,如{10}. $* 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体 $@ 这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待 $# 这个变量代表命令行中所有参数个数 例1...②通过$n实现一个简单加法计算器 $n就是用来把你命令和命令后面跟参数传递给脚本中$n(n=1,2,3,4…)代表位置参数变量 ? 例2.$#、$*、$@ ①简单演示 ?...②$*和$@区别(了解) $*会把所有参数当成一个整体,只执行一次循环。$@会把不同参数当作独立几个参数执行几个循环。 ? END

85020

(24)Bash预定义变量

一、预定义变量 预定义变量 作用 $? 最后一次执行命令返回状态。...如果这个变量值为0,证明上一个命令正确执行;如果这个变量值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确 了 $$ 当前进程进程号(PID) $!...:后台运行最后一个进程进程号(PID) 二、接收键盘输入 格式: [root@localhost~]# read [选项] [变量名] 选项:-p“提示信息”:在等待read输入时,输出提示信息...当输入字符数目达到预定数目时,自动退出,并将输入数据赋值给变量。 例3....-s选项能够使read命令中输入数据不显示在命令终端上(实际上,数据是显示,只是read命令将文本颜色设置成与背景相同颜色)。输入密码常用这个选项。 END

97230

成员变量,类变量,局部变量区别是什么_内部变量和局部变量

2、成员变量随着对象建立而建立,随着对象消失而消失,存在于对象所在堆内存中。 3、成员变量默认初始化值。...3、局部变量没有默认初始化值 在使用变量时需要遵循原则为:就近原则 首先在局部范围找,就使用;接着在成员位置找。...不同对象实例变量将被分配不同内存空间, 如果类中成员变量变量,那么所有对象这个类变量都分配给相同一处内存,改变其中一个对象这个类变量会影响其他对象这个类变量,也就是说对象共享类变量。...因为this代表对象,而静态在时,可能没有对象,所以this无法使用。 什么时候定义静态成员呢?或者说:定义成员时,到底需不需要被静态修饰呢? 成员分两种: 1、成员变量。...如发现本站涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.7K30

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

在linux下配置shell参数说明 前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符变量特殊含义,这样变量被称为特殊变量。...例如,$ 表示当前Shell进程ID,即pid,看下面的代码: $echo $$ 运行结果 29949 特殊变量列表 变量 含义 $0 当前脚本文件名 $n 传递给脚本或函数参数。...上个命令退出状态,或函数返回值。 $$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在进程ID。 命令行参数 运行脚本时传递给脚本参数称为命令行参数。.../bin/bash echo "File Name: $0" echo "First Parameter : $1" echo "First Parameter : $2" echo "Quoted.../bin/bash echo "\$*=" $* echo "\"\$*\"=" "$*" echo "\$@=" $@ echo "\"\$@\"=" "$@" echo "print each

89140

Bash 环境变量那些事

bash 变量,尤其是讨厌环境变量,已经是一个老生常谈的话题了。我们也更应该对它有一个详细了解,让它为我们所用。 下面就打开终端,开始吧。...但如果需要读取或者使用变量值,需要在变量前面加上一个 $ 号。 更改 HOME 变量具有一定风险。很多程序是依赖于 HOME 变量,更改 HOME 变量可能会导致一些不可预见结果。...一个常见问题:如果你不希望弄乱系统 bin/ 目录,同时也不希望你自己文件被其它人运行,还不想每次运行时候都要输入完整路径,那么,你可以在你主目录中创建一个独立 bin/ 目录: mkdir...首先定义一个变量: robots="R2D2 & C3PO" 然后执行: bash 现在是在 bash shell 中创建了一个子 shell。...执行这个命令看看还能不能读取到刚才定义变量: echo $robots 你会发现读取不到。

66140

java内部类 访问final变量----局部内部类访问局部变量

局部内部类与其他类相比,还有一个优点就是: 它不仅能够访问包含它们外部类数据和方法,还可以访问定义它局部变量, 但是个前提条件:这些局部变量必须被声明为final 知识回忆...在所有这些情况下,他们含义都是一样: 在创建这个变量之后,只能能够为之赋值一次。此后,再也不能修改它们值了。 这就是final。...A一个方法,任何人都都休想访问我,我对外部世界是完全隐藏,只有start()方法有权限操作我"); System.out.println("我可以访问我作用域中局部变量,这个局部变量类型必须有...根据final知识我们知道final int localvariable = 5;是永远不变, 这就麻烦了,如果我想要它去统计我们内部类被执行了多少次该怎么办呢?...或者我想要这个变量内部类中被多次修改怎么办呢? 有没有补救办法呢?

1.1K10

内部类只能访问final局部变量_java内部类引用外部变量

因为在JDK8之前,如果我们在匿名内部类中需要访问局部变量,那么这个局部变量必须用final修饰符修饰。这里所说匿名内部类指的是在外部类成员方法中定义内部类。...,是因为在底层将这个局部变量值传入到了匿名内部类中,并且以匿名内部成员变量形式存在,这个值传递过程是通过匿名内部构造器完成。...这里举个栗子:原先局部变量指向是对象A,在创建匿名内部类后,匿名内部类中成员变量也指向A对象。但过了一段时间局部变量值指向另外一个B对象,但此时匿名内部类中还是指向原先A对象。...兴趣小伙伴可以关注博主 听到微笑博客 Gitee笔记仓库 GitHub笔记仓库 原创不易,帮忙点个赞撒!!!!(如有错误,欢迎指正!!)...如发现本站涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

89620

SHELL(bash)脚本编程一:变量

类型 环境变量 概念 当我们通过ssh等工具登录系统时,便获得一个shell(一个bash进程),bash在启动过程中会加载一系列配置文件,这些配置文件作用就是为用户准备好bash环境,大部分环境变量都是在这些文件中被设置...~]# 通常,一个登录shell(包括交互式登录shell和使用"--login"选项非交互shell)首先读取并执行文件/etc/profile(此文件会在结尾处判断并执行/etc/profile.d...交互式非登录shell启动时,bash读取并执行文件~/.bashrc。...声明/定义及赋值 通常bash变量是不需要提前声明,可以直接进行赋值。变量值均被视为字符串(在一些情况下也可以视为数字)。当对变量特殊需要时,也可以先声明变量(如前面关联数组声明)。...~]# echo $NAME 1 2 3 当多个变量名时,环境变量IFS用来将输入分隔成单词。

2.7K40

(21)Bash用户自定义变量

每个变量一个名字,所以很容易引用它。使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。 1.变量设置规则 ①变量名称可以由字母、数字和下划线组成,但是不能以数字开头。...如果变量名是“2name”则是错误。 ? ②在Bash中,变量默认类型都是字符串型,如果要进行数值运算,则必须指定变量类型为数值型。 ③变量用等号连接值,等号左右两侧不能有空格。 ?...④变量值如果有空格,需要使用单引号或双引号包括。 ? ⑤在变量值中,可以使用“\”转义符。 ⑥如果需要增加变量值,那么可以进行变量叠加。...2.变量分类 ①用户自定义变量,又称本地变量 ②环境变量:这种变量中主要保存是和系统操作环境相关数据。...③位置参数变量:这种变量主要是用来向脚本当中传递参数或数据变量名不能自定义,变量作用是固定。 ④预定义变量:是Bash中已经定义好变量变量名不能自定义,变量作用也是固定

64030

(26)Bash变量测试与内容替换

通过下表方法,以x值来判断y值是否存在。...变量置换方法 变量y没有设置 变量y为空值 变量y设置值 x=${y-新值} x=新值 x为空 x=$y x=${y:-新值} x=新值 x=新值 x=$y x=${y+新值} x为空 x=新值 x=新值...新值} 新值输出到屏幕上 新值输出到屏幕上 x=$y 例1:x=${y-新值} ①通过unset命令删除y,此时y没有设置,则x=新值AAA ②给变量y赋值为空,则x也为空 ③当y具体值时,x=...其实echo是直接输出这个值,这个输出是给用户看,我们在写脚本时候,程序需要自动执行,他可能需要判断他上面的某个变量是否存在,这个时候我们就不可能让我们人眼去看来判断,我们需要让计算机能自己判断。...其他就不一一举例了。根据表格操作即可。 ? END

54310

Linux中bash shell环境变量

别名 别名是命令快捷方式。为那些需要经常执行,但需要很长时间输入长命令创建快捷方式很有用。...重要是,你将它们用于你经常执行任务。...可能例子: alias update='yum update' 这样就可以只是用update来完成yum update命令操作了  在终端中设置别名问题是,一旦终端会话关闭...对于 ZSH,资源文件是 .zshrc,对于 bash,它是 .bashrc。 要使别名成为永久别名,你可以将它们放入资源文件中。你可以使用你选择文本编辑器编辑资源文件。...这里使用 vim: vim $HOME/.zshrc 或者对于 bash: vim $HOME/.bashrc 这样我们在新建一个终端之后,依然可以使用我们创建命令来完成一些较长命令操作

1.4K00
领券