变量的分类

系统环境变量

系统本身所有,通常为大写字母

系统变量通过 set 或 declare 指令进行查看

UDV 变量(user defined variable )

用户创建和维护,建议大写

原因:

避免冲突与混淆,因为 Linux 系统中命令全部采用小写的方式

变量的属性和定义

变量的属性

  1) Shell 中所有变量定义都为字符串。

  2) 变量区分大小写,如:foo 和 Foo 是两个不同的变量

  3) 变量必须以字母或下划线开头,不得有", : "等特殊字符。

变量的声明

1) 变量的定义

  变量名=值 (变量名与值之间”=”号没有空格)

  举例:

LANG=ab

2) 声明带空格变量

  需要加上引号””

  举例:

Y="23 67"

3) 声明一个只读变量

readonly Y_UDV=guozi

4) 修改变量

修改环境变量

 例:

PATH=$PATH:/opt/bin

  修改用户自定义变量 例:

SRC=”guozi”

5)取消变量

unset SRC

变量的使用

变量前加“$”符号

echo $SRC
echo ${SRC}
echo "${SRC}"
echo ${SRC}AA #{}称为界定符,用界定符可以直接在变量后面加文字

注:单引号时,变量不会被扩展(expand),将依照原样显示。

环境变量

  环境变量是未在当前进程中定义,而从父进程中继承而来的变量。例如环境变量

HTTP_PROXY ,它定义了互联网连接应该使用哪个代理服务器。

该环境变量通常被设置成:

HTTP_PROXY=192.168.1.23:3128
export HTTP_PROXY

  export 命令用来设置环境变量。至此之后,从当前shell脚本执行的任何应用程序都会继承这个变量。我们可以按照自己的需要,在执行的应用程序或者shell脚本中导出特定的变量。在默认情况下,有很多标准环境变量可供shell使用。

PATH 就是其中之一。通常,变量 PATH 包含:

$ echo $PATH
/home/slynux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

  在给出所要执行的命令后,shell会自动在 PATH 环境变量所包含的目录列表中(各目录路径之间以冒号分隔)查找对应的可执行文件。 PATH 通常定义在/etc/environment或/etc/profile或~/.bashrc中。如果需要在 PATH 中添加一条新路径,可以使用:

export PATH="$PATH:/home/user/bin"
# 也可以使用
$ PATH="$PATH:/home/user/bin"
$ export PATH
$ echo $PATH
/home/slynux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr
/games:/home/user/bin

  这样,我们就将/home/user/bin添加到了 PATH 中。

SHELL 中的变量的更多相关文章

  1. shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢?

    shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢? 这确实是一个困扰很久的一个问题? how it can be an issue? 事实上, 在shell中, 你可以认为 ...

  2. C Shell中的变量数组

    今天刚刚在看一点C Shell的内容,发现一个挺好玩的东西!就是环境变量可以像数组那样来设置!具体设置语法如下: set variable=(element1 element2 ...) //注意元素 ...

  3. Linux Shell中的变量声明和一些特殊变量

    在SHELL中定义变量比较直接,无类型区别,不需要像Java那样定义好是String还是int等. 声明变量需要遵守或者注意的几点: 变量名和等号之间不能有空格. 变量名首字符必须为字母. 变量名里可 ...

  4. shell专题(四):Shell中的变量

    4.1 系统变量 1. 常用系统变量 $HOME.$PWD.$SHELL.$USER等 2.案例实操 (1)查看系统变量的值 [atguigu@hadoop101 datas]$ echo $HOME ...

  5. Shell中脚本变量的作用域

    原文地址:http://blog.csdn.net/abc86319253/article/details/46341839    在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的 ...

  6. (二)shell中的变量

    1.常用系统变量 $HOME.$PWD.$SHELL.$USER等 2.自定义变量 基本语法: (1)定量变量:变量=值 (2)撤销变量:unset 变量 (3)声明静态变量:readonly变量 注 ...

  7. shell中环境变量

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量. 所以管理环境变量的文件也分为系统级和用户级的, ...

  8. 有时候shell中某些变量总是不能被改变是什么原因

    答:在子shell执行,那么变量的值总是不能如愿以偿的改变,示例如下: #!/bin/sh var="jello" cat "jello.txt" | whil ...

  9. shell中的变量与eval(转)

    原文链接:http://www.361way.com/shell-eval-variable/4957.html shell 中经常会用到变量的嵌套的情况.比如,单个或多个变量的值作为变量名,再对该变 ...

随机推荐

  1. 【Learning】矩阵树定理 Matrix-Tree

    矩阵树定理 Matrix Tree ​ 矩阵树定理主要用于图的生成树计数. 看到给出图求生成树的这类问题就大概要往这方面想了. 算法会根据图构造出一个特殊的基尔霍夫矩阵\(A\),接着根据矩阵树定理, ...

  2. 压测工具-Jmeter

    server压力测试首选: Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 1 JMet ...

  3. oracle的loop

    oracle的loop等循环语句的几个用法小例子 --loop循环用法 (输出1到10) ) :; begin loop v_num :; ; --上面退出循环也可以用下面3行 /* if(v_num ...

  4. 在mvc中 怎么给@Html.HiddenFor()赋值

    @Html.HiddenFor(model => model.CreatedBy, new { @value=currentInfo.UserID}) value始终是null@Html.Tex ...

  5. opncv视频资料

    链接: http://pan.baidu.com/s/1i37nXSL 密码: 3xnd这一套opncv资料包括视频和pdf资料

  6. 「Vue」过滤器

    #全局过滤器要写在var vue之前<td>{{item.time | ctime }}</td>Vue.filter('ctime'(过滤器名),function(data( ...

  7. [Java]-Java的版本演化

    一.Java SE 8 Java SE 8发行于2014年3月18日,代号culture,这是一个在Java历史上的重大发布 Java SE 8 新特性: Lambda Expressions(Lam ...

  8. P2015 二叉苹果树

    P2015 二叉苹果树 有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1. 我们用一根树枝两端连接 ...

  9. P2831 愤怒的小鸟

    P2831 愤怒的小鸟 从 \((0, 0)\) 发射一只鸟, 轨迹满足抛物线, 问最少几只鸟可以打完 \(n <= 18\) 只猪 错误日志: 处理抛物线数组没有初始化 Solution 数据 ...

  10. HTML常用标签-<head>内常用标签

    HTML常用标签-<head>内常用标签 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HTML是什么     1>.超文本标记语言(Hypertext Ma ...