Chinaunix首页 | 论坛 | 博客
  • 博客访问: 384009
  • 博文数量: 138
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1620
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-10 16:55
个人简介

当你比别人优秀一点点,别人会嫉妒你。当你比别人优秀很多,别人会羡慕你。

文章分类

全部博文(138)

文章存档

2016年(2)

2015年(2)

2014年(15)

2013年(119)

我的朋友

分类: LINUX

2013-03-28 13:57:29

    变量分类

    环境变量
    1)HOME
    2)更新PATH命令:  $PATH=$PATH:新路径
    3)TERM 终端类型
    4)PS1 主提示符,即为$或者#,我们可以修改   #PS1-"Be happy! :"  或者$PS1="something:"
    
-----------------------------------------------------------------------------------------------------------------------

    位置变量
    $0 对应当前执行的脚本文件名
    $i 对应第i个参数,i 大于0小于十
    命令行参数,一次只能处理9个,如果多于9个,可以使用shift n 把参数向前偏移n次。 不带参数的命令shift模式是参数1

------------------------------------------------------------------------------------------------------------------------

    预定义特殊变量
    $# 位置参数的个数
    $*命令行中所有参数
    $!上一个后台命令,对应的进程号
    $?最近一条命令的退出状态
    $$ 当前进程的PID

---------------------------------------------------------------------------------------------------------------------------

    "basename $i"  $i 是一个绝对路径名,这个操作可以去除绝对路径中的路径名
    数组只是变量的一种。

---------------------------------------------------------------------------------------------------------------------------

    用户自定义变量
    创建/声明一个变量的三种方式:
    1)declare 
    2) typeset 
        1) 2)
这两种方式,都可以指定变量的属性,比如只读,不可删除等等。

    3)在赋值的时候声明、
        格式: 变量名=变量值
        注意:
                等号左右不可以有空格。
                包含空格的变量值,要使用双引号把它引起来
    
 ==============================================================================================================
    变量赋值

    1, 使用read赋值
          格式是 read 变量1 变量2
          shell脚本执行到read命令的时候,会暂停脚本的运行,并等待键盘的录入,变量的赋值有如下规则:
       1)多个数据和变量之间以空格分隔
       2)当变量个数和数据个数相同的时候,则对应赋值
       3)当变量个数大于数据个数的时候,没有输入数据的变量取空值
       4)当变量个数小于数据个数的时候,多于数据赋值到最后一个变量
    -----------------------------------------------------------------
      使用read 选项-p  可以代替echo 来提示用户。
    
       read name -p "请输入您的姓名"
    -----------------------------------------------------------------
    如果没有指定变量来保存read的输入内容,则bash会把用户输入放到一个名字为REPLY的变量中

    -----------------------------------------------------------------
    
    2, 直接给变量赋值
          变量名=变量值  等号两侧不能有空格

          
    3,使用命令行参数给位置变量赋值
    
    

    4,利用命令的输出结果赋值
    
    需要在赋值语句中使用反引号,反引号表示引用命令的执行结果。
    
    RESULT='find /etc -name rc.local'
    
    CURRDIR='pwd'
    
    DIR='basename /home/peter/name.txt' 
        这行语句的作用是把绝对路径的目录部分去掉

    5 从文件读入数据实现赋值
    
    基本格式:
    while read LINE
    
        do
            chmod +x $LINE
    done

    这个是处理文件的基本格式!!
======================================================================================================================

    输出变量的方式
    
    1, echo命令输出变量
    echo 
$变量名  
     
    ------------------------------------------------------------------------------------------------------------
    2, printf命令,格式化输出变量
    
    

======================================================================================================================

    数组变量 
        
     数组的定义
    name=(成员值1 成员值2 成员值3 ...) 成员变量之间没有逗号


    也可以单独赋值
    name[2]="变量值"
    name[3]=344

    数组成员的使用  ${name[i]}


    -----------------------------------------------------------------------------------------------------------
    数组元素的个数 ${#name[*]}
    

$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
阅读(825) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~