`
wyl15982038375
  • 浏览: 6989 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

shell变量及引号

阅读更多
变量

变量不需要声明,初始化不需要指定类型
变量命名
1:不能使用程序中的关键字(保留字)
2:只能使用数字,字母和下划线,且不能以数字开头
3:建议命令要通俗易懂
显示变量值使用echo命令 ,加上$变量名,也可以使用${变量名}
例如:echo $JAVA_HOME
或者echo ${JAVA_HOME}

变量的分类


本地变量、环境变量、局部变量、位置变量、特殊变量

本地变量

只对当前shell进程有效的,对当前进程的子进程和其它shell进程无效。
定义:VAR_NAME=VALUE
变量引用:${VAR_NAME}
取消变量:unset VAR_NAME
相当于java中的私有变量(private),只能当前类使用,子类和其他类都无法使用。

环境变量
''单引号不解析变量
""双引号会解析变量
``反引号是执行并引用一个命令的执行结果,类似于$(...)


自定义的环境变量对当前shell进程及其子shell进程有效,对其它的shell进程无效
定义:export VAR_NAME=VALUE
对所有shell进程都有效需要配置到配置文件中
vi /etc/profile
source /etc/profile
相当于java中的protected修饰符,对当前类,子孙类,以及同一个包下面可以共用。

局部变量
在函数中调用,函数执行结束,变量就会消失
对shell脚本中某代码片段有效
定义:local VAR_NAME=VALUE

相当于java代码中某一个方法中定义的变量,只对这个方法有效。

位置变量
$1,$2,.....${10}....
test.sh 3 89
$0:脚本自身
$1:脚本的第一个参数
$2:脚本的第二个参数
相当于java中main函数中的args参数,可以获取外部参数。

特殊变量
$?:接收上一条命令的返回状态码
返回状态在0-255之间
$#:参数个数
$*:或者$@:所有的参数
$$:获取当前shell的进程号(PID)(可以实现脚本自杀)(或者使用exit命令直接退出也可以使用exit [num])

单引号、双引号、反引号
''单引号不解析变量
""双引号会解析变量
``反引号是执行并引用一个命令的执行结果,类似于$(...)
分享到:
评论

相关推荐

    vim编辑器中 熟练掌握 shell环境变量

    shell变量不需要专门的说明语句,通过赋值语句完成变量说明并予以赋值。在命令行或 shell 脚本文件中使用Sname的形式引用变量name的值。1.变量的定义和引用 在shell中,变量的赋值格式如下: name-string ...

    shell的特殊变量实例详解

    shell的特殊变量实例详解 shell的特殊变量实例详解shell的特殊变量实例详解 $0 shell或shell脚本的名字 $* 以一对双引号给出参数列表 $@ 将各个参数分别加双引号返回 $# 参数的个数 $_ 代表上一个命令...

    shell变量的各种操作

    echo 单双引号的区别,双引号支持转义, 开头的变量会被自动替换,PWD本身就是特殊变量,当前的路径,单引号则就是输出。例子:echo”开头的变量会被自动替换,PWD本身就是特殊变量,当前的路径,单引号则就是输出。...

    Shell脚本中单引号(‘)和双引号(“)的使用区别

    主要介绍了Shell脚本中单引号(‘)和双引号(“)的使用区别,主要探讨了变量在单引号和双引号中的不同,需要的朋友可以参考下

    Shell双引号和单引号有哪些不同

    Shell在使用的过程中,经常会使双引号或者单引号将字符串括起来,也可以不使用引号来定义字符串变量。示例如下: str1=testString //双引号\nstr2='testString' //单引号 str3=testString //无引号 因此字符串变量...

    shell编程基础 单引号和双引号的区别

    单引号和双引号都能关闭shell对特殊字符的处理。不同的是,双引号没有单引号严格,单引号关闭所有有特殊作用的字符,而双引号只要求shell忽略大多数,具体... 不忽略美元符号意味着shell在双引号内部也进行变量名替换。

    详解shell 变量

    脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell变量也遵循这个规则。 在Bash shell 中,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。这意味着,Bash ...

    shell—-定义变量

    在shell中,变量没有数据类型,...shell变量的命名规则和其它语言变量的命名规则一样,变量名由数字、字母、下划线组成,以字母或下划线开头,不能使用shel里的关键字。 help #查看shell里面的关键字 在shell脚本里引

    Linux Shell 编程实战.zip

    Shell是Linux的外壳,是Linux的用户界面, Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。用户对Shell理解越深刻, Shell对用户工作的支持就越有力。...shell变量 流程控制 子程序

    Shell脚本字符串单引号和双引号的区别浅析

    字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。 单引号 代码如下: str=’this is a ...

    UNIX命令及SHELL编程

    14_登录环境-环境和shell变量.PDF 15_登录环境-引号.PDF 16_基础shell编程-shell脚本介绍.PDF 17_基础shell编程-条件测试.PDF 18_基础shell编程-控制流结构.PDF 19_基础shell编程-shell 函数.PDF 20_基础shell...

    shell脚本第二天——变量

    变量 变量名定义:字母,数字,下划线 开头:下划线,字母 格式: 变量名=值 如: 给name赋值为zhangsan name=zhangsan 打印变量格式: echo $变量名 如:打印变量name的值 echo $name 取消变量 unset 变量名 ...

    shell编程学习笔记

    shell变量的作用域 可以用export内置命令将局部变量设置为全局变量。 位置变量 用于向shell脚本传递信息。参数相关数目传入脚本,此数目任意多,但只有前9个可以被访问,使用shift命令可以改变限制。...

    尚官Linux Shell 编程实战

    Shell是Linux的外壳,是Linux的用户界面, Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。用户对Shell理解越深刻, Shell对用户工作的支持就越有力。...shell变量 流程控制 子程序

    shell 编程指南pdf

    10.10.6 从sed输出中设置shell变量 102 10.11 快速一行命令 102 10.12 小结 103 第11章 合并与分割 104 11.1 sort用法 104 11.1.1 概述 104 11.1.2 sort选项 104 11.1.3 保存输出 105 11.1.4 sort启动方式 105 ...

    shell编程 linux

    014环境和shell变量.pdf 015引号.pdf 016shell脚本介绍.pdf 017条件测试.pdf 018控制流结构.pdf 019shell 函数.pdf 020向脚本传递参数.pdf 021创建屏幕输出.pdf 022创建屏幕输入.pdf 023调试脚本.pdf 024...

    Unix shell 基础知识普及

    14. 环境与 SHELL 变量 特定s h e l l变量 15. 引号 16. SHELL 脚本介绍 17. 条件测试 18. 控制流结构 19. SHELL 函数 20. 向脚本传递参数 21. 创建屏幕输出 22. 创建屏幕输入 23. 调试脚本 24. SHELL 嵌入命令 25. ...

    Shell自学pdf.zip

    第14 章环境和shell 变量.PDF 第15 章引号.PDF 第16 章shell 脚本介绍.PDF 第17 章条件测试.PDF 第18 章控制流结构.PDF 第19 章shell 函数.PDF 第20 章向脚本传递参数.PDF 第21 章创建屏幕输出.PDF 第22 章创建屏幕...

    Linux Shell编程3/3

    _grep家族 |_awk介绍 |_sed用法介绍 |_合并与分割 |_tr用法 第三部分登录环境 |_登录环境 |_环境和shell变量 |_引号 第四部分基础shell编程 |_shell脚本介绍 |_条件测试 |_控制...

Global site tag (gtag.js) - Google Analytics