Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239344
  • 博文数量: 91
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 955
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-12 09:38
文章分类

全部博文(91)

文章存档

2017年(1)

2011年(1)

2008年(15)

2007年(74)

我的朋友

分类: LINUX

2007-08-12 10:26:10

变量
 有两种,标量和数组
 标量:
 格式:name=value
 变量名(通常用大写字母表示)由字母,数字,下划线,只能以字母,下划线开头。变量值任意,但不能有空格。(不能是表达式)
 如:pi=3.14; he=zhangshan; she="su san";
 访问变量:在变量名前加上$符号。如:
 $PI=3.14
 $echo $PI
 
 数组变量:
 1.单个赋值
  name[index]=value
  example:
  $a[1]=5
  $echo ${a[1]}
  5
 2.一次赋多个值
  name=(value1 value2 value3........)有空格分开(separated by space)
  example1:
  $a=(hello, how are you)
  $echo ${a[0]}
  hello,
  example2:
  $a=("hello, how are you" I ok)
  $echo ${a[0]}
  hello, how are you
  
 输出数组中的所有项
  example:
  $echo ${a[*]} or
  $echo ${a[@]}
只读变量
 一旦定义了,就不能更改。标量和数组均可以定义。unset也不能用,直到shell退出为止。
 通过readonly命令标记为只读。
  example:
  $readonly a
  现在a是一个只读的数组。
删除变量
   unset name
   当数组a没有被定义为只读时
   example:
   $unset a
  
环境变量,局部变量,shell变量
  在一个shell中定义的变量,就是局部变量。
  通过export命令放置到环境中的局部变量:
  export name
  example:
  name=value;
  export name
shell变量,是在shell初始化的时候被设定并内部运用的变量。
 follow variables is used by shell, but can be modify by script
 CDPATH:为了简化cd命令而提供的一组经冒号分隔开的目录
 HOME:用户的主目录
 IFS:内部的域分隔符号
 OPTARG:最后一个由getopts处理的命令行参数
 OPTIND:由getopts(korn/bash)处理的最后一个命令行参数的索引
 PATH:当查找一个不包含/的命令时,搜索由冒号分隔开的目录的列表,以查找该命令
 PS1:主shell提示字符串
 PS2: 第二个shell提示字符串,用于续行
 PWD: 返回当前目录
 RANDOM: 每次引用时都返回0~32767之间的不同的随机数(仅限ksh,bash和zsh)
 REPLY: 从经过选择的命令里读入的最后一行(仅限ksh,bash和zsh)
 SECONDS: 返回从shell被调用开始到现在所经历的秒数
 SHLVL: 返回当前shell的递归调用层次数
 UID: 返回用户ID的值

例如:

$echo  $RANDOM

$echo  $HOME


special variables
   $0:正在执行的命令或脚本的名字(:查看当前shell, echo $0)
   $n:位置参数--在命令行给出的位置从1-9的参数(一般在函数中使用)
   $#命令行给出的位置参数个数(一般在函数中使用)
   $*所有命令行参数的列表
   $@独立的用双引号引起来的所有命令行参数
   #?最后一个执行的命令的数值退出状态(即返回代码)
   $$:当前shell的PID
   $!:最后一个后台命令的PID(进程ID)
 

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