岁月联盟 · 中国技术网 本站主页 | 安全认证 | 用户服务 | 技术论坛
新闻快报 | 新手学堂 | 黑客特区 | 程序语言 | 数 据 库 | 防 火 墙 | 路由交换 | 系统集成 | 服 务 器 | 存储备份 | 考试认证
Windows | Linux | Java | 协议分析 | 问题解答 | 进程大全 | 网页设计 | 多 媒 体 | 图库资料 | 软件下载 | 站内下载
  您现在的位置: 岁月联盟 >> Linux频道 >> Linux编程 >> SHELL编程 >> Linux频道正文
Linux Shell变量使用
作者:未知 文章来源:本站整理 点击数: 更新时间:2007-12-18 18:18:48

        一、本地变量的使用
       
        本地变量就如同局部变量一样,只在本SHELL中起作用。它不会影响到其他SHELL中的变量。

        1。显示变量值
        可以使用echo命令。需要注意的是,使用变量的时候必须在变量名前加上$符号
        2。清除变量
        使用unset命令可以清除命令。
        3。显示所有本地SHELL变量
        SHELL中预定义了一些环境变量。要想显示这些命令,可以使用set命令。
        另外,用户自己已经定义过的本地变量也会在其中显示。
        4。测试变量是否已经赋值
        ${variable:-value}
        如果变量已经赋值,则使用该变量值。如果变量为空,则使用value。需要注意的是,value并不赋给variable。
        ${variable:=value}
        该表达式上面的区别就是,如果variable为空,则value赋给variable。

        如果需要检验变量是否为空,如果为空的话则显示带有系统错误信息,则使用下面的表达式:
        ${variable:?}
        如果需要显示自己定义的信息,则如下:
        ${variable:?"customed message "}

        5。设置只读变量
        使用readonly可以将变量定义成只读。
        readonly variable
        单独执行readonly可以显示所有的只读变量。

        二、环境变量
       
        环境变量用于所有的用户进程。在Linux中,登陆进程称为父进程,shell中执行的用户程序均称为子进程。
        环境变量可以在命令行中设置,但用户注销时这些值将丢失。因此最好在$HOME/目录下的.profile中定义。
        传统上环境变量均为大写。环境变量应用于用户进程之前,必须用export命令导出。设置方法与本地变量设置方法相同。
        1。显示环境变量
        使用env命令可以察看所有环境变量
        2。潜入SHELL变量
        EXINIT保存使用vi编辑器的初始化选项。比如要显示行号,则如下:
        EXINIT='set nu';export EXINIT
        HOME:用于记录用户的主目录;
        IFS:用作shell指定的缺省域分隔符。
        PATH:保存进行命令或脚本查找的目录顺序。可以在.profile中进行设置。
        3。将变量导出到子进程
        在父脚本中使用export命令可以将变量导出,这样子脚本便可以知道该变量的值。

        三、位置变量参数
       
        在向脚本传递参数时,可以使用此位置变量来获取参数。
        他们分别是:
        $0:脚本名字。此变量包含地址,可以使用basename $0获得脚本名称。
        $1:第一个参数
        $2,$3,$4,$5,...一次类推。

        四、特定变量参数
       
        一些脚本运行的相关控制信息
        $# 传递到脚本的参数个数
    &

[1] [2] 下一页


  • 上一个Linux频道:
  • 下一个Linux频道:
  •  
    热门文章
    推荐文章
    关于我们 | 发展历程 | 网站地图 | 广告服务 | 招贤纳士 | 战略合作 | 友情链接 | 著作声明 | 联系我们
    Copyright © 2002-2007 SYUE All rights reserved.
    E_mail:Admin@Syue.Com 皖ICP备05004589号
    未经授权禁止转载、摘编、复制或建立镜像.如有违反,追究法律责任.
    天龙八部私服 传世私服 传奇世界私服 传奇私服 bet365 天龙八部私服 热血江湖私服 英雄合击传奇私服 热血江湖私服 bet365 bet365