• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 编程开发 >> shell教程 >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • shell编程例子--一个简单的目..
  • Shell介绍
  • shell编程例子--一个.login例..
  • Shell初学者的入门知识
  • Linux程式设计-11.ShellScri..
  • 从ifconfig中得到IP地址
  • Shell编程
  • Linux程式设计-11.ShellScri..
  • Linux程式设计-11.ShellScri..
  • Linux程式设计-11.ShellScri..
  • shell要如何分类呢?
  • Shell递归程序设计-目录列表
  • 两个很详细的shell实例
  • Shell介绍
  • Linux程式设计-11.ShellScri..
  • Bash中的变量
  • 批量添加用户
  • Linux程式设计-11.ShellScri..
  • Linux程式设计-11.ShellScri..
  • 我要如何将csh的stdout与std..
 
 

Bash中的变量

  • 日期:2007-10-20     人气:     出处:     作者:
  • 字体大小:
  • 小
  • 中
  • 大

1.用户定义的变量
用户定义的变量有字母数字及下划线组成,并且变量名的第一个字符不能为数字.
与其它UNIX名字一样,变量名是大小写敏感的.
对于变量,用户可按如下方式赋值:
name=value
在引用变量时,需在前面加$符号,用户也可以在变量间进行相互赋值,如:
(前面的$是命令提示符)

$JOHN=john
$NAME=$JOHN
$echoHello$NAME
Hellojohn

也可以用变量和其他字符组成新的字,这时可能需要把变量用{}括起,如:

$SAT=Satur
$echoTodayis${SAT}day
TodayisSaturday

对于未赋值的变量,Bash以空值对待,用户也可以用unset命令清除给变量
赋的值.

Bash中还可以使用数组变量,其赋值有两种:

(1)name[index]=value
(2)name=(value1...valuen)此时下标从0开始

数组下标的范围没有任何限制,同时也不必使用连续的分量.

Bash中关于变量的内建命令有:

(1)declare和typeset.两者具有一样的功能.其选项有:
[-/ ]a设置/撤消变量的数组属性
[-/ ]i设置/撤消变量的整数属性
[-/ ]r设置/撤消变量的只读属性
[-/ ]x设置/撤消变量的输出属性
-pvar显示变量属性
(2)export和local.
export把变量输出到环境中,用法为:
exportname
exportname=value

这里需要简单介绍一下export的作用:当Bashshell执行一个
程序时,将首先为该程序建立一个新的执行环境,称为子shell,
在BashShell中变量都是局部的,即它们只是在创建它们的子
Shell中是有意义的,使用export后,变量被设置为全局变量,这
时可以被其它子Shell所识别

local标记变量为局部的(如只能被函数内部使用),用法为:
localname
localname=value
(3)readonly.
指定变量为只读,执行后,改变量不能被再次赋值,用法为:
readonlyname

2.位置变量或Shell参数
BashShell在解释用户命令时,将把命令行的第一个子作为命令,而其它字作为
参数通过位置变量传递给程序.$1,...,$9分别代表第一,...,九个参数.其中1-9
是真正的参数名,"$"符只是用来标识变量的替换.
位置变量$0指命令对应的可执行名.
其它的还有:
$#送给命令的参数个数
$@所有的参数,每个用双括号括起
$*所有的参数,用双括号括起
3.与Shell有关的变量
(1)Shell自身设置的一些常用变量:
LINENO正在执行的命令在脚本中的行号
PWD用户当前目录的全名
OLDPWD最近一次执行cd之前,用户当前目录的全名
PPID父进程ID
$当前进程ID
RANDOM随机数(范围0-32767)
SECONDSBashShell的运行时间,单位是秒
REPLYselect和read命令使用,以后会讲到
OPTARG
ORTIND这两个变量由getopt命令设置
UID当前用户的UserID
_上一条命令使用的最后一个参数
(2)影响Shell行为的一些常用环境变量:
PATH命令搜索路径,以冒号为分隔符.注意与DOS下不同的是,
当前目录不在系统路径里
HOME用户home目录的路径名,是cd命令的默认参数
COLUMNS定义了命令编辑模式下可使用命令行的长度
EDITOR默认的行编辑器
VISUAL默认的可视编辑器
FCEDIT命令fc使用的编辑器
HISTFILE命令历史文件
HISTSIZE命令历史文件中最多可包含的命令条数
HISTFILESIZE命令历史文件中包含的最大行数
IFS定义SHELL使用的分隔符
LOGNAME用户登录名
MAIL指向一个需要SHELL监视其修改时间的文件.当该文件修改后,
SHELL将发消息Youhavamail给用户
MAILCHECKSHELL检查MAIL文件的周期,单位是秒
MAILPATH功能与MAIL类似.但可以用一组文件,以冒号分隔,每个文件后
可跟一个问号和一条发向用户的消息
SHELLSHELL的路径名
TERM终端类型
TMOUTSHELL自动退出的时间,单位为秒,若设为0则禁止SHELL自动退出
PROMPT_COMMAND指定在主命令提示符前应执行的命令
PS1主命令提示符
PS2二级命令提示符,命令执行过程中要求输入数据时用
PS3select的命令提示符
PS4调试命令提示符
MANPATH寻找手册页的路径,以冒号分隔
LD_LIBRARY_PATH寻找库的路径,以冒号分隔

相关文章
  • QQ帮你突破网吧硬盘访问限制
  • 局域网内盗用IP的安全问题
  • 邮件安全攻略:只要糖衣不要炮弹
  • 手机病毒的分类及其防范措施
  • 如何防止黒客远程盗取QQ密码
  • 始料未及,谁在控制电脑重新启动
  • 网络常见木马的手工清除方法
  • 魔高一尺 道高一丈
  • 防火墙日志记录让蠕虫病毒无处可逃
  • 提防他人动用电脑另有妙招
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号  

感谢:点击网络 联网科技 天盈信息 中国E速网 59互联  提供服务器及带宽赞助