| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 574 人关注过本帖
标题:Unix/Linux的shell程序设计的语法----<变量>
收藏  订阅  推荐  打印
neverTheSame
Rank: 6Rank: 6
等级:金牌会员
帖子:1486
积分:15858
威望:9
来自:江西农业大学
注册:2006-11-24
Unix/Linux的shell程序设计的语法----<变量>

*/ --------------------------------------------------------------------------------------
*/ 出自: 快乐编程 http://hi.bccn.net/108519
*/ 作者: neverTheSame E-mail:zhaoxufeng9997@126.com QQ:475818502
*/ 时间: 2008-6-1
*/ 声明: 尊重作者劳动,转载请保留本段文字
*/ --------------------------------------------------------------------------------------
  

自己最近研究了一下shell程序设计,我将对它的理解分享给大家.

shell变量的特点:
  shell变量使用之前不需要事先对它进行声明,在第一次使用它的时侯创建它。
  shell变量默认情况下,它是作为保存字符串的。即使它被赋予数值也是保存为字符串,shell和其它工具程序会把“数值”字符串转换成正确方式进行操作。
  shell变量对大小写敏感,即区分大小。
变量的使用:
  使用$加变量名来获取变量的内容,如$var
  使用echo命令来显示变量的内容,如echo $var
  使用read命令来为变量名输入数据,如read var
变量的赋值:
  var=myname     这时var的值是myname
  var=“myname”    这时var的值是myname
  var=‘myname’    这时var的值是myname
  var=6+1        这时var的值是6+1
  注意在赋值的时侯等号的两边不能有空格,要紧挨着。否则,shell会把它看作是命令而不变量。如var =6+1,shell把它看作是var命令,=6+1是var命令的参数。
双引号使用:
  在双引号中使用$var会进行名-值的转换。如果要将$var原样输出时,可以用‘\‘将$作为一普通字符,如\$var。同样,要在双引号内使用双引号,也可以这样做,如\”。注意”$var1234”的情况。
单引号使用:
  在单引号中使用$var不会进行名-值的转换。同样,要在单引号中使用单引号也可以使用’\’,如\’。
环境变量:在shell脚本程序开始执行的时侯,某些变量会根据当前环境中的值进行初始化。通常这些变量的变量名为大写,为了以用户程序相区别。
环境变量
说明

$HOME
当前用户登录的子目录

$PATH
以冒号分隔的用来搜索命令子目录清单

$PS1
命令提示符,通常是’$’字符

$PS2
辅助提示符,用来提示后续输入,通常是‘&gt;’字符

$IFS
输入区的分隔符

$0
shell脚本程序的名字

$#
传递到脚本程序的参数的个数

$$
脚本程序的进程ID


参数变量:在shell脚本程序调用的时侯,还带有一些参数,这时就会产生一些额外变量,这些变量就是参数变量。
参数变量
说明

$1,$2,…
参数1,参数2,…

$*
一个全体参数组成的清单,这是一个独立的变量,各参数之间用环境变量IFS中的第一个字符分隔开。

$@
“$*”的一种变量,它不使用IFS环境变量。
2008-6-25 01:07
guixiaolan
Rank: 12Rank: 12Rank: 12
等级:版主
帖子:340
积分:4114
威望:6
注册:2006-4-20

挺不错的,支持!

[url=http://www.91cool.net/]http://ip.91cool.net/sign/free.gif[/url]
2008-6-25 02:06
共有 573 人关注过本帖
发新话题
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.049828 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved