现在的位置: 首页 > 综合 > 正文

第二章 Shell变量及相关操作

2013年05月18日 ⁄ 综合 ⁄ 共 1301字 ⁄ 字号 评论关闭
第二章 Shell变量及相关操作

1、Shell变量类型
1)环境变量
①HOME
用户主目录的全路径名
②PATH
变量PATH定义的一些目录路径,路径由冒号分隔
例:添加新路径
$PATH=$PATH:新路径名
③TERM
终端类型
④PWD
当前工作目录的绝对路径
⑤PS1、PS2
主提示符、辅助提示符
⑥SHELL
定义Shell的解释器路径
⑦MAIL
定义系统信箱的路径
⑧LOGNAME
登录用户的用户名
⑨UID
当前用户的UID
2)位置变量
参数的位置:
$命令 参数1 参数2 参数3($0 $1 $2 $3)
需要用shift命令移动位置参数
3)预定义的特殊变量
①$#:实际位置参数个数
②$*:命令行中的所有位置参数组成的字符串
③$!:上一个后台命令对应的进程号
④$?:表示最近一条命令执行后的退出状态(返回值),为十进制
⑤$$:当前进程号PID
4)用户自定义的变量
变量区分大小写,建议用大写
2、变量的操作
1)创建变量
变量名=变量值
例:CITY=Beijing     
注:等号前后不可有空格;包含空格需要用双引号
定义变量的时候不需要加$,而使用变量的时候则需要加$
2)区分变量名
使用大括号来区分变量和其它字符
#order=22
#echo "This is ${order}nd"
Tom is 22nd
3)删除变量
unset删除变量
3、变量的赋值
1)使用read命令赋值
规则:
①多个数据或变量用空格分隔
②若相等,对应赋值
③若变量个数大于输入个数,没有输入的变量取空值
④若变量个数小于输入个数,将多余的数据赋值给最后一个变量
例:
#!/bin/bash
echo -n "请输入用户名:"
read name
echo "用户名:$name"
2)直接给变量赋值
变量名=变量值
例:CITY=Beijing     
注:等号前后不可有空格;包含空格需要用双引号
3)使用命令行参数赋值
Shell提供位置变量,通过位置参数赋值。当多于9个时,使用shift移位
4)利用命令的输出结果赋值
将一个可执行命令的执行结果赋值给一个变量,使用反引号(')
5)从文件读入数据实现赋值
从一个指定文件读入数据并赋值给变量
4、变量的输出
1)echo命令:直接输出变量的值
echo $name1 $name2
2)printf命令:格式化输出变量
与C语言类似
5、数组变量
1)数组的定义
声明数组并为其赋值:
name=("sad" "happy")各个元素以空格分离
name[0]="sad"
输出:
echo ${name[$i]}
也可以只为某些元素赋值
name=([0]=value0 [3]=value3 [5]=value5)
2)数组的复制
*和@作用都是提取出整个数组元素,但是加上双引号,略有不同
@把原数组的内容复制到一个新数组,新数组和原来的一样
*把原数组中的所有元素当成一个元素复制到新数组,生成的新数组只有一个元素
3)数组元素的个数
返回数组中元素的个数
${#name[*]}
4)数组元素的长度
返回数组中指定元素的长度
${#name[num]}
6、算术运算
1)expr命令
有5种算术运算符:+、-、*、/、%
$x=`expr $b / $a`
2)let命令
let x=x+1
3)浮点算术运算
使用bc、awk等命令

抱歉!评论已关闭.