搜寻路径PATH(系统预设变量)
执行命令时,系统透过PATH得路径顺序搜寻指令,如果再搜寻完后还找不到该指令,就会打印错误讯息【command not fount】。
 
环境变量
进入shell之前,需要一些变量来设置该shell得环境,例如是否要彩色显示等等。
为了区分与自定义变量得不同,环境变量通常大写,例如PATH、HOME、MAIL等。
 
变量得取用与设定:echo,变量设定规则,unset
1.echo取用变量
1)echo $variable
2)echo ${variable}
 
2.设定或修改变量
myname=VBird
echo $myname
说明:
0)等号两边不能直接接空格符;
1)若有空格符可以使用双引号『 " 』或单引号『 ' 』来将变量内容结合起来,但须要特别留意, 双引号内的特殊字符可以保有变量特性,但是单引号内的特殊字符则仅为一般字符
2)必要时需要以跳脱字符『 \ 』来将特殊符号 ( 如 Enter, $, \, 空格符, ' 等 ) 变成一般符号
3)在一串指令中,还需要藉由其它的指令提供的信息,可以使用 quote 『` command` 』;(特别 特别注意,那个 ` 是键盘上方的数字键 1 左边那个按键,而不是单引号!)——内含指令
4)若该变量为扩增变量内容时,则需以双引号及 $变量名称 如:『"$PATH":/home』继续累加内容;
5)若该变量需要在其它子程序执行,则需要以 export 来使变量变成环境变量, 如『 export PATH』;
6)取消变量的方法为:『 unset 变量名称』
单引号、双引号、跳脱字符、钱字号、quote符号等等。
 
环境变量的功能
家目录的变换啊、提示字符的显示啊、执行文件搜寻得路径啊。
1.env指令
env——列出当前shell下所有环境变量与其内容
这些变量中,比较重要,但楼主也不是很了解得变量有下面这些
1)RANDOM : 这个玩意儿就是『随机随机数』的变量啦!目前大多数的 distributions 都会有随机 数产生器,那就是 /dev/random 这个档案。 我们可以透过这个随机数档案相关的变量 ($RANDOM) 来随机取得随机数值喔。在 BASH 的环境下,这个 RANDOM 变量的内容,介于 0~32767 之间,所以,你只要 echo $RANDOM 时,系统就会主动的随机取出一个介于 0~32767 的数值。
 
2.set指令
set——列出环境变量、自订变量,与其他所有变量。
这些变量中,比较重要,但楼主也不是很了解得变量有下面这些
1)PS1(提示字符得设定)
当我们每次 按下 [Enter] 按键去执行某个指令后,最后要再次出现提示字符时, 就会主动去读取这个变数值了。
我尝试了使用PS1=XXX赋值来修改
 
2)$(关于本shell的PID)
echo $$
 
3)?(关于上个执行指令的回传码)
一般来说,如果成功的执行该指令, 则会回传一个 0 值,如果执行过程发生错误,就会回传『错误代码』才对!一般就是以非为 0 的数值来取代。 
 
3.自订变量转成环境变量: export
自订变量与环境变量的区别在于可否被子程序所引用
1)# export ——秀出所有得【环境变量】
2)# export 变量 ——讲自订变量转换为环境变量
 
变量键盘读取、数组与宣告:read,array,declare
1.read
读取来自键盘输入得变量
1)# read atest  ——用户往atest变量中输入内容
2)# read -p "Please keyin your name: " -t 30 named 
提示信息Please keyin your name: ,等待时间30s,用户往named变量输入内容。
 
2.declare/typeset
申明变量得属性。
1)# declare
同set,输出所有变量
2)# declare -i sum=100+300+50
声明sum为整数,所有后面的是加法,echo $sum为450
3)# declare -x sum
将sum变成环境变量,同export
4)declare -r sum
将sum变为只读变量,不能赋值,不能unset
整数、数组、字符串
 
3.数组说明
shell只支持一维数组、读取时建议直接以${数组}的方式
# var[1]="small min"
# var[2]="big min"
# var[3]="nice min"
#echo "${var[1]}, ${var[2]}, ${var[3]}"
 
4.ulimit限制使用者的某些系统资源
包括可以打开得文件、可以使用的CPU时间、可以使用的内存总量等
1)# ulimit -a
列出所有得限制数据
2)# ulimit -f 1024
限制使用者仅能创建1MBytes以下容量的文件。

Shell 的变量功能的更多相关文章

  1. Linux学习-Shell的变量功能

    什么是变量? 简单的说,就是让某一个特定字串代表不固定的内容. 变量的可变性与方便性 举例来说,我们每个帐号的邮件信箱默认是以 MAIL 这个变量来进行存取的, 当 dmtsai 这个 使用者登陆时, ...

  2. [shell基础]——变量

    变量的赋值 #定义变量,注意等号两边没有任何空格 variable=#定义环境变量export variable= #双引号:可含空格.可转义特殊字符 variable=" " # ...

  3. 3.Shell的基本功能

    3.Shell的基本功能Bash是Bourne-Again Shell的缩写.Bourne Shell的内部命令在Bash中同样适用.3.1 Shell语法3.1.1 Shell操作shell读取和执 ...

  4. shell与变量的声明的操作

    1.给命令起别名:alias 执行下面命令后,可以使用dir代替ls –l 命令,显示目录中的文件详细信息: 还可以用一个别名表示几个命令 的结合: 2.ps:显示当前登录会话的所有活动进程: 3.更 ...

  5. shell之变量与read

    环境变量 set 环境变量可供shell以外的程序使用 shell变量 env shell变量仅供shell内部使用 set:显示(设置)shell变量 包括的私有变量以及用户变量,不同类的shell ...

  6. 【Linux】之shell特殊变量整理

    目录 1. 特殊变量列表 2. 特殊说明 在shell中变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即p ...

  7. (转载)shell变量基础—shell自定义变量

    (转载)http://see.xidian.edu.cn/cpp/html/1494.html 一.Shell定义变量需要遵循的规则 Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下 ...

  8. shell基础——变量定义

    快速参考: 变量定义格式: 变量名=值 str1="hello world" # define a string var str2=hello # define a string ...

  9. shell的变量处理

    shell的变量处理 一.删除 删除(删除某一段) # 从前向后删除 % 从后向前删除 删除(删除某一部分) $(var:nu1:nu2) nu1表示开始位置 nu2表示删除长度 示例如下 file= ...

随机推荐

  1. Eclipse IDE for Java EE Developers 与 Eclipse Classic(Eclipse Standard)区别

    Eclipse下载官网:http://www.eclipse.org/downloads/ 版本: 1.Eclipse classic(Eclipse Standard):Eclipse的标准版; 2 ...

  2. java 用插入排序思想,对不规则数组排序。

    知道插入排序后,无意中发现,用插入排序思想,对不规则数组排序的排序 发现和许多大神写的不一样,大神写的简洁多了.--------

  3. Oracle数据库体系结构及创建表结构

    Oracle服务器主要由实例.数据库.程序全局区和前台进程组成,其中实例就是用来提供管理数据库的功能:数据库由数据库文件组成,用来存储系统数据:实例可以进一步划分为系统全局区(SGA)和后台进程(PM ...

  4. 事实证明,abstract类除了不能用new实例化和类没什么区别

    abstract类是抽象类,不能够实例化,大家都知道,abstract类往往和接口interface一块儿使用,针对接口中一些公共的方法进行实现,然后实体类去继承抽象类和接口.虽然abstract类不 ...

  5. Java实现购物车功能:方式一:存放在session中.方式二:存储在数据库中

    //将购物车产品加入到cookie中,方式同浏览记录.Java实现购物车,方式一(简易版):存储在session中.这种方式实现还不严谨,大家看的时候看思路即可.(1). JSP页面中,选择某一款产品 ...

  6. 从高处理解android与服务器交互(看懂了做开发就会非常的容易)

    今天帮一个朋友改一个bug 他可以算是初学者吧 .我给他看了看代码,从代码和跟他聊天能明显的发现他对客户端与服务器交互 基本 不是很了解.所以我花了更多时间去给他讲客户端与服务器的关系.我觉得从这个高 ...

  7. C#入门(面向对象概念)

    也许是看概念性的东西太多了,所以一看基本就明白,但实际并没有掌握,有待实操.反而是UML(统一建模语言)引起了我的兴趣,发现这东东很像建筑行业的图纸:有标准和约定,很方便专业人士看懂程序的架构和逻辑. ...

  8. 阿里云CentOS6上配置iptables

    参考:http://blog.abv.cn/?p=50 阿里云CentOS6默认没有启动iptables 1.检查iptables状态 [root@iZ94jj63a3sZ ~]# service i ...

  9. 学习indy组件之一idhttp的使用方法

    登录 注册 百度首页 新闻 网页 贴吧 知道 音乐 图片 视频 地图 百科 文库 经验 搜索答案我要提问 首页 分类 公社 知道行家 问医生 高质量问答 经验 个人中心手机知道开放平台   关于del ...

  10. AX 2012 中代码控制用户可查询哪些公司的数据

    关联table:UserDataAreaFilter, parm:dataareaid parm2:userid