shell 脚本编程要点
2015-07-26 16:49
387 查看
1、shell中的特殊字符
# 注释
; 命令分割符,可以将多个语句放在一行执行
'' 单引号,在单引号总无法引用变量
"" 双引号,类似'',但支持变量替换
·· tab键上方那个,用于引用命令的执行结果
2、变量
变量定义:declare varName
变量赋值: varName=值
变量值引用: $varName
导出变量: export varName[=value]
撤销变量: unset varName
特殊变量:
$?: 返回上一条命令的状态返回值
$1,$2... $9: 位置变量,第10个变量需要这样引用
${10}
$#: 脚本传入的所有参数个数
$*,$@: 返回脚本传入的所有参数
1. $# 传递到脚本的参数个数
2. $* 以一个单字符串显示所有向脚本传递的参数变量。与位置变量不同,此选项参数可超过9个
3. $$ 脚本运行的当前进程ID号
4. $! 后台运行的最后一个进程的进程ID号
5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数
6. $- 显示shell使用的当前选项,与set命令功能相同
7. $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误
8. $()里面放命令,可以在脚本中执行该命令,并返回命令执行的输出.
3、条件测试
使用格式:
test EXPR
[ EXPR ]
[[ EXPR ]]
4、输入输出和重定向
标准输入: 0 默认设备为键盘
标准输出: 1 默认设备为显示器
标准错误输出: 2 默认设备为显示器
>: 覆盖输出
&>: 错误覆盖输出
>> : 追加输出
&>>: 错误覆盖输出
&>: 合并重定向
<:
4000
输入重定向
<<: 此处文档
tee: 分流,将结果输出到屏幕并重定向
6、常用语法结构
7、一些讲解
http://www.cnblogs.com/jiqing9006/p/3253232.html
# 注释
; 命令分割符,可以将多个语句放在一行执行
'' 单引号,在单引号总无法引用变量
"" 双引号,类似'',但支持变量替换
·· tab键上方那个,用于引用命令的执行结果
2、变量
变量定义:declare varName
变量赋值: varName=值
变量值引用: $varName
导出变量: export varName[=value]
撤销变量: unset varName
特殊变量:
$?: 返回上一条命令的状态返回值
$1,$2... $9: 位置变量,第10个变量需要这样引用
${10}
$#: 脚本传入的所有参数个数
$*,$@: 返回脚本传入的所有参数
1. $# 传递到脚本的参数个数
2. $* 以一个单字符串显示所有向脚本传递的参数变量。与位置变量不同,此选项参数可超过9个
3. $$ 脚本运行的当前进程ID号
4. $! 后台运行的最后一个进程的进程ID号
5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数
6. $- 显示shell使用的当前选项,与set命令功能相同
7. $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误
8. $()里面放命令,可以在脚本中执行该命令,并返回命令执行的输出.
3、条件测试
使用格式:
test EXPR
[ EXPR ]
[[ EXPR ]]
4、输入输出和重定向
标准输入: 0 默认设备为键盘
标准输出: 1 默认设备为显示器
标准错误输出: 2 默认设备为显示器
>: 覆盖输出
&>: 错误覆盖输出
>> : 追加输出
&>>: 错误覆盖输出
&>: 合并重定向
<:
4000
输入重定向
<<: 此处文档
tee: 分流,将结果输出到屏幕并重定向
6、常用语法结构
条件判断 | |||
语法格式 | 示例 | ||
单分支if语句 if 语句1;then 语句1执行结果为真则执行 else 语句1执行结果为假则执行 fi |
|
多分支if语句 if 语句1;then 语句1执行结果为真则执行 elif 语句2;then 语句2执行结果为真则执行 ... else 所有条件都不满足时执行 fi |
|
循环结构 | |||
for varName in LIST;do 循环体 done |
| ||
for ((var=#;测试条件;修正条件));do 循环体 done |
| ||
while 条件语句;do #条件为真时进入循环 循环体 done |
| ||
until 条件语句;do 循环体 done |
| ||
条件选择 | |||
case $varName in exp1) 语句体1 ;; exp2) 语句体 2 ;; ... *) 语句体 n ;; |
|
http://www.cnblogs.com/jiqing9006/p/3253232.html
相关文章推荐
- 分享shell编程中的几个小技巧
- shell编程基础知识小结
- Linux date命令参数及用法详解
- Linux Shell编程入门
- 简单shell脚本的编写
- Bash Shell编程
- shell编程--while循环和管道符的迷雾
- Linux运维第6天:Linux下shell编程
- Linux运维第7天:Linux下sed工具及shell编程
- Linux运维第9天:Linux下suid,sgid,acl,shell编程
- linux 之shell编程
- shell脚本高级编程
- 使用Shell脚本对Linux系统和进程资源进行监控
- linux shell 流程控制
- Shell编程时出现"[: =: unary operator expected"解决
- Linux Shell编程学习笔记——目录(附笔记资源下载)
- Shell编程入门(第二版)(下)
- shell学习第二弹
- linux shell编程
- shell编程