Shell变量和基础知识(二)
2013-12-12 19:40
876 查看
Shell变量类型主要有:环境变量,位置变量,预定义的特殊变量以及用户自定义变量等。
(一)环境变量
环境变量时用来设置系统运行环境的变量。环境变量的名称由大写字母组成,常用的如下:
添加新路径可以用
$PATH=$PATH:路径名
例,
(二)位置参数
根据出现在命令行上的参数来确定变量值,其中,$0代表当前执行的命令名或者是shell文件的文件名,$1,$2,$3,$4,$5,$6,$7,$8,$9分别代表第一个参数,当命令行中的参数多于9个时,使用shift命令来左移,
例,zzz文件内容
(三)变量的操作
创建变量
1. 用declare来申明变量
2. 用typeset来申明变量
3. 直接用变量名=变量值来定义变量(这个是最常用的)要是变量值有空格,用双引号就可以了
区分变量:可以擦用大括号来区别变量和其他字符
删除变量:用unset来删除变量
(四)变量赋值
使用read命令来读入数据:
Read命令是一个内置命令,从输入设备或者是一个文件读取数据。Read命令读取一个输入行直到遇到一个换行符为止。规则如下:
1. 多个变量之间用空格隔开
2. 若变量个数与数据个数相等,则对应赋值。
3. 若变量个数大于输入数据个数,则后面的变量赋值为空
4. 若变量个数小于输入数据个数,则多余的数据都赋值为最后一个变量。
直接赋值:
使用命令行赋值:
利用命令的输出结果赋值。里面的变量的赋值用反引号才可以。
从文件中读入数据实现赋值:
(五)变量输出端:
echo
echo可以输出字符串也可以输出变量,例,
Prinft格式化输出
命令格式说明:
\”:双引号
\\:反斜杠
\n:回车
\r:换行
%%:百分号
%d:数字
%f:浮点数
%s:字符
例,
%-20s表示左对齐,20个字符宽度,%20.4f表示是右对齐,20个字符,4位小数
(六)数组:
数组是一组数值的集合。
数组的定义:
name=(element1,element2.。。。)
或者是name[index]=element
数组的取值:
${name[index]}
数组的长度
${#name[*]}
数组的复制:
*和@都是提取整个数组元素
不同的是@是把原数组的内容复制到一个新数组中,生成的新数组和以前的数组是一样的,符号*是把原来的数组中所有的元素作为新数组的一个元素
all=(“$name[*]”)
list=(“${name[@]}”)
数组元素的长度:
${#name[i]}
(七)算术运算
Expr命令:可以进行简单的整数运算,+,-,*,\,%,运算符,命令要用反引号
Let命令:与expr可以换用,不过let命令中不用加$符号
浮点数运算可以bc和awk运算
例,
(一)环境变量
环境变量时用来设置系统运行环境的变量。环境变量的名称由大写字母组成,常用的如下:
名称 | 说明 |
HOME | 用户主目录的全路径名 |
PATH | 定义了一些目录路径,用冒号(:)隔开。 |
TERM | 显示当前终端的类型 |
PWD | 显示当前工作路径的绝对路径 |
PS1 | 主提示符 |
PS2 | 辅助提示符 |
SHELL | Shell的解释器路径 |
MAIL | 当前邮箱的路径 |
LOGNAME | 登陆用户的用户名 |
UID | 当前用户的id |
$PATH=$PATH:路径名
例,
(二)位置参数
根据出现在命令行上的参数来确定变量值,其中,$0代表当前执行的命令名或者是shell文件的文件名,$1,$2,$3,$4,$5,$6,$7,$8,$9分别代表第一个参数,当命令行中的参数多于9个时,使用shift命令来左移,
例,zzz文件内容
zzz文件内容 #! /bin/bash Echo $0,$1,$2输入参数为num1和test,输出$0当前执行命令名,$1赋值为num1,$1赋值为test:
#! /bin/bash Echo $0,$1,$2 #! /bin/bash Echo $0,$1,$2,$3,$4,$5,$6,$7,$8,$9 Shift Echo $0,$1,$2,$3,$4,$5,$6,$7,$8,$9 Shift 3 Echo $0,$1,$2,$3,$4,$5,$6,$7,$8,$9
(三)变量的操作
创建变量
1. 用declare来申明变量
2. 用typeset来申明变量
3. 直接用变量名=变量值来定义变量(这个是最常用的)要是变量值有空格,用双引号就可以了
区分变量:可以擦用大括号来区别变量和其他字符
删除变量:用unset来删除变量
(四)变量赋值
使用read命令来读入数据:
Read命令是一个内置命令,从输入设备或者是一个文件读取数据。Read命令读取一个输入行直到遇到一个换行符为止。规则如下:
1. 多个变量之间用空格隔开
2. 若变量个数与数据个数相等,则对应赋值。
3. 若变量个数大于输入数据个数,则后面的变量赋值为空
4. 若变量个数小于输入数据个数,则多余的数据都赋值为最后一个变量。
直接赋值:
使用命令行赋值:
利用命令的输出结果赋值。里面的变量的赋值用反引号才可以。
从文件中读入数据实现赋值:
(五)变量输出端:
echo
echo可以输出字符串也可以输出变量,例,
Prinft格式化输出
命令格式说明:
\”:双引号
\\:反斜杠
\n:回车
\r:换行
%%:百分号
%d:数字
%f:浮点数
%s:字符
例,
%-20s表示左对齐,20个字符宽度,%20.4f表示是右对齐,20个字符,4位小数
(六)数组:
数组是一组数值的集合。
数组的定义:
name=(element1,element2.。。。)
或者是name[index]=element
数组的取值:
${name[index]}
数组的长度
${#name[*]}
数组的复制:
*和@都是提取整个数组元素
不同的是@是把原数组的内容复制到一个新数组中,生成的新数组和以前的数组是一样的,符号*是把原来的数组中所有的元素作为新数组的一个元素
all=(“$name[*]”)
list=(“${name[@]}”)
数组元素的长度:
${#name[i]}
(七)算术运算
Expr命令:可以进行简单的整数运算,+,-,*,\,%,运算符,命令要用反引号
Let命令:与expr可以换用,不过let命令中不用加$符号
浮点数运算可以bc和awk运算
例,
相关文章推荐
- linux变量及shell基础知识
- Linux基础知识之————shell学习总结之变量引用
- SHELL (2) —— Shell变量的核心基础知识和实践
- shell脚本基础知识和位置变量
- Linux基础-shell脚本知识整理和脚本编写----------变量、运算符、流程控制、函数、计划任务(发送邮件)
- 通过脚本学shell编程——相关基础知识之shell内置变量命令(更新中)
- Shell基础知识 (2) 之 管道符和作业控制、变量、环境变量配置文件
- L24 shell基础知识(二)管道符-作业控制-shell变量-环境变量配置文件
- Objective-C基础知识之(四):实例变量的可变度、初始化方法的声明、self和super的具体应用
- shell基础知识
- shell基础知识学习三
- php基础知识 2,变量与数据类型
- Linux简单入门(十二)shell脚本之前的基础知识
- Shell基础:shell变量、环境变量配置文件、shell特殊符_cut、sort、wc、uniq
- 第十二章 学习 shell脚本之前的基础知识
- Linux操作系统基础解析之(七)——Bash(Shell)基础知识(3)
- shell脚本的基础知识1:基本脚本的编译
- 74、shell 小知识两点,提示符,特殊变量,export
- shell的基础知识
- shell脚本基础知识(下)