搜寻路径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. C# HmacMD5 加密

    string HmacMD5(string source, string key) { HMACMD5 hmacmd = new HMACMD5(Encoding.Default.GetBytes(k ...

  2. ruby HTTPS请求

    require 'uri'require 'net/http'require 'net/https' @toSend = { "date" => "2012-07- ...

  3. ASP.Net上传大文件解决方案之IIS7.0下的配置

    开源的Brettle.Web.NeatUpload.在公司IIS6.0使用正常,但是在Windows 2008 server IIS7上使用不正常.在网上看到一个解决办法但是没有效果 IIS 7 默认 ...

  4. link与import的区别

  5. centos 安装rmagick 2.13.4出错

    因为安装redmine,缺少rmagick,使用bundle install安装依赖的gem,报错如下: 然后,网上查询一下,都是ubuntu系统下的解决方案. centos下正确的解决方法如下: y ...

  6. Visual Studio 设置多核编译

    1.选择一个指定项目右击 -> 属性 -> 配置属性 -> C/C++ -> 命令行 在附加选项中输入:/MP4 或者/MP8 等,后面的那个数字是指定CPU 核的数量,可以自 ...

  7. Python体验(07)-图形界面之菜单

    顺序安装以下程序: python解释器:https://www.python.org/downloads/ wxPython图形界面框架包:http://www.wxpython.org/ pycha ...

  8. 使用localResizeIMG微信压缩上传图片安卓报错 weixin://preInjectJSBridge/fail

    微信上传图片是经常使用的功能,首先说一下使用的是:localResizeIMG进行图片压缩上传.感觉还是很好用,基本上功能都能满足. 但是最近在开发这个功能时遇到一个奇怪的问题,就是iphone|ip ...

  9. 仿google art图片预览算法及demo(iphone/安卓版本)

    演示地址:用手机扫描二维码(手机端浏览) 功能:双击放大,单指操作拖动,双指操作放大缩小.

  10. 2、C#面向对象:封装、继承、多态、String、集合、文件(上)

    面向对象封装 一.面向对象概念 面向过程:面向的是完成一件事情的过程,强调的是完成这件事情的动作. 面向对象:找个对象帮你完成这件事情. 二.面向对象封装 把方法进行封装,隐藏实现细节,外部直接调用. ...