搜寻路径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. Spring Integration

    @ContextConfiguration directs Spring's test runner to locate a configuration file with the same name ...

  2. JVM类加载过程

    先不说JVM类加载的原理,先看实例: NormalTest类,包含了一个静态代码块,执行的任务就是打印一句话. /** * 在正常类加载条件下,看静态代码块是否会执行 * @author jianyi ...

  3. 基于Autofac, Castle.DynamicProxy的动态WCF解决方案(原创)

    本方案解决了下面3个主要的问题: 1.减少配置,为了避免每次新增service都需要去修改配置文件,包括服务器端跟各个客户端的. 2.能够使用函数重载,泛型函数,以及泛型类. 3.使项目能够快速地在w ...

  4. java中Collection和Collections的区别

    1.Collection: 它是java集合类的一个通用接口,所有集合类都实现的它 2.Collections: 它是一个封装集合类常用工具方法的类,不能被示例化,只支持静态调用

  5. oracle ||,

    || oracle数据库中的 ||称为 "字符串连接符" 用于连接查询结果,如下: select trade_id,accept_date from A; ------------ ...

  6. java 无符号byte转换

    java中的byte类型是有符号的,值得范围是-128-127 做网络通讯时,接收过来的数据往往都是无符号的byte,值得范围是0-255 因此直接转换时,存储到java显示的值就会有问题 int o ...

  7. sublime text 3 license 2016.05

    补充:2016.05 最近经过测试,3个注册码在新版3103的sublime上已经不可用了. 现补充两枚新版的license key: -– BEGIN LICENSE -– Michael Barn ...

  8. .this语句指的是什么

    This通常指的是当前对象的引用

  9. 高质量C++/C编程指南(林锐)

    推荐-高质量C++/C编程指南(林锐) 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐   2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐   20 ...

  10. PlayerPrefs游戏存档

    本地存储.相当于Flash里面的SharedObject. Android位置:机器自身存储的(非扩展卡)/data/data/appname/shared_prefs/{AppName}.xml,如 ...