SHELL 中的变量
变量的分类
系统环境变量
系统本身所有,通常为大写字母
系统变量通过 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 中的变量的更多相关文章
- shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢?
shell中的变量a=100, 什么时候作整数使用, 什么时候作字符串使用呢? 这确实是一个困扰很久的一个问题? how it can be an issue? 事实上, 在shell中, 你可以认为 ...
- C Shell中的变量数组
今天刚刚在看一点C Shell的内容,发现一个挺好玩的东西!就是环境变量可以像数组那样来设置!具体设置语法如下: set variable=(element1 element2 ...) //注意元素 ...
- Linux Shell中的变量声明和一些特殊变量
在SHELL中定义变量比较直接,无类型区别,不需要像Java那样定义好是String还是int等. 声明变量需要遵守或者注意的几点: 变量名和等号之间不能有空格. 变量名首字符必须为字母. 变量名里可 ...
- shell专题(四):Shell中的变量
4.1 系统变量 1. 常用系统变量 $HOME.$PWD.$SHELL.$USER等 2.案例实操 (1)查看系统变量的值 [atguigu@hadoop101 datas]$ echo $HOME ...
- Shell中脚本变量的作用域
原文地址:http://blog.csdn.net/abc86319253/article/details/46341839 在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的 ...
- (二)shell中的变量
1.常用系统变量 $HOME.$PWD.$SHELL.$USER等 2.自定义变量 基本语法: (1)定量变量:变量=值 (2)撤销变量:unset 变量 (3)声明静态变量:readonly变量 注 ...
- shell中环境变量
Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量. 所以管理环境变量的文件也分为系统级和用户级的, ...
- 有时候shell中某些变量总是不能被改变是什么原因
答:在子shell执行,那么变量的值总是不能如愿以偿的改变,示例如下: #!/bin/sh var="jello" cat "jello.txt" | whil ...
- shell中的变量与eval(转)
原文链接:http://www.361way.com/shell-eval-variable/4957.html shell 中经常会用到变量的嵌套的情况.比如,单个或多个变量的值作为变量名,再对该变 ...
随机推荐
- MySQL总结小妙招
mysql5.7版本,免登陆修改管理员密码: vim /etc/my.cnf 加入skip-grant-tables,重启MySQL 终端输入 mysql ,直接登录MySQL数据库,然后use my ...
- activity 与 service 之间的通信
activity和service通信:通过binder 举个我实际项目中的例子:在service中下载更新应用 首先是下载更新apk的service: public class UpdateVersi ...
- 【bzoj4231】回忆树
题解: 树上的串匹配,模式串的总长$|S|$,令$\overline {S} $为$S$的反串: 对$S$和$\overline {S} $分别建自动机 $u -> v$可以分成三个部分去统计 ...
- MySQL 第三篇:表操作
一 存储引擎介绍 存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制 详见:http://www.cnblogs.com/moyand/p/9020698.html 二 表介绍 表相当于文 ...
- linux命令总结sed命令详解
Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令.指定文件名,然后在屏幕上查 ...
- jQuery速看
本文参考w3school网站. jQuery是一个十分流行的javascript库. 基础语法是:$(selector).action() $:表示使用的语法为jquery selector:选择器 ...
- 《剑指offer》面试题45 圆圈中最后剩下的数字(Java版本)
引言 这道题网上的讲解都是直接抄书,没意思,所以想自己写一写,补充一下,便于自己理解.另外,大家都忽略了经典解法,虽然这种解法效率不及第二种,但是我觉得在项目当中阅读性其实很重要,牺牲一点点效率保证代 ...
- linux下常用的几个时间函数:time,gettimeofday,clock_gettime,_ftime
time()提供了秒级的精确度 1.头文件 <time.h> 2.函数原型 time_t time(time_t * timer) 函数返回从TC1970-1-1 0:0:0开始到现在的秒 ...
- python操作mongo脚本
#!/usr/bin/python# -*- coding: utf-8 -*- import sysimport osimport jsonfrom pymongo import MongoClie ...
- 基本UDP套接字编程
概述 使用TCP编写的应用程序和使用UDP编写的应用程序之间存在一些本质差异,其原因在于这两个传输层之间的差别:UDP是无连接不可靠的数据报协议,非常不同于TCP提供的面向连接的可靠字节流.然而相比T ...