没有合适的资源?快使用搜索试试~ 我知道了~
介绍如何写shell脚本,shell脚本的组成,编写简单的shell脚本
资源推荐
资源详情
资源评论
1 shell脚本的执行有两种方式:
@ 一般来讲在shell脚本的第一句里面总是会写上:#!/bin/bash 这句话的作用就是
指明了程序会用那个shell来进行执行脚本,故我们可以使用:
bash myshell.sh 即前一个为shell脚本中指定的shell,后者为你写的shell脚本的
绝对路径
@ 直接执行脚本
第一步:进入到shell所在的目录下面
第二步:给shell加上可执行的权限
第三步:./shell脚本即可,如./myshell.sh
2 shell脚本语句的组成部分
文本处理工具(sort,grep,sed,awk)
变量
条件判断(if/else)
循环判断(while)
函数
3 常用的sed和awk
awk,做为一种编程语言,可以用来处理结构化的数据,然后产生格式化的报告.awk将每一行分解为记录,用空格或者是tab制表符来进行区分记录中的字符段。它允许在任何过程中以任何方式访问这些字段,$0表示
整个记录,$1,$2,...则是指向输入行的各个字段。其指令运行过程如下:
awk '指令' 输入文件
awk -F 分隔符 ‘指令’ 脚本文件输入文件 //我们可以指定我们使用的分隔符来进行区分字段,而不是默认的空格或者是tab制表符
@@@@指令的格式一般是‘{print $1}’或者是 ‘if($NF>3){ print $1}’@@@@
例子:awk ‘/jane/ { print $3}’ phonelist.txt //将phonelist.txt文件中所有包含jane字段的行的第三个字段给输出来
sed 其主要是用来编辑文件,进行增删改,一般很少常用
4 shell中的变量
shell中的变量分为两种:本地变量和环境变量
本地变量:只存在用户当前的shell中,当用户退出当前的shell或者是开一个新的shell,所设置的变量将会不存在
设置变量:变量名=变量值
显示变量:echo $变量名
环境变量:环境变量用于所有用户进程(经常称为子进程)。登录进程称为父进程。Shell中执行的用户进程均称为子进程。不像本地变量,环境变量可用于所有子进程,这包括编辑器、脚本和应用
@ 一般来讲在shell脚本的第一句里面总是会写上:#!/bin/bash 这句话的作用就是
指明了程序会用那个shell来进行执行脚本,故我们可以使用:
bash myshell.sh 即前一个为shell脚本中指定的shell,后者为你写的shell脚本的
绝对路径
@ 直接执行脚本
第一步:进入到shell所在的目录下面
第二步:给shell加上可执行的权限
第三步:./shell脚本即可,如./myshell.sh
2 shell脚本语句的组成部分
文本处理工具(sort,grep,sed,awk)
变量
条件判断(if/else)
循环判断(while)
函数
3 常用的sed和awk
awk,做为一种编程语言,可以用来处理结构化的数据,然后产生格式化的报告.awk将每一行分解为记录,用空格或者是tab制表符来进行区分记录中的字符段。它允许在任何过程中以任何方式访问这些字段,$0表示
整个记录,$1,$2,...则是指向输入行的各个字段。其指令运行过程如下:
awk '指令' 输入文件
awk -F 分隔符 ‘指令’ 脚本文件输入文件 //我们可以指定我们使用的分隔符来进行区分字段,而不是默认的空格或者是tab制表符
@@@@指令的格式一般是‘{print $1}’或者是 ‘if($NF>3){ print $1}’@@@@
例子:awk ‘/jane/ { print $3}’ phonelist.txt //将phonelist.txt文件中所有包含jane字段的行的第三个字段给输出来
sed 其主要是用来编辑文件,进行增删改,一般很少常用
4 shell中的变量
shell中的变量分为两种:本地变量和环境变量
本地变量:只存在用户当前的shell中,当用户退出当前的shell或者是开一个新的shell,所设置的变量将会不存在
设置变量:变量名=变量值
显示变量:echo $变量名
环境变量:环境变量用于所有用户进程(经常称为子进程)。登录进程称为父进程。Shell中执行的用户进程均称为子进程。不像本地变量,环境变量可用于所有子进程,这包括编辑器、脚本和应用
环境变量在用户注销时会消失,因此最好在$HOME/.bash_profile(/etc/profile)文件里直接定义
位置变量(跟脚本和函数有很大的关系)
位置变量表示$0,$1… …$9 (只有9个)当其作为script脚本的执行参数的时候,则分别代表传入的第几个参数,$1代表第一个参数,$n 代表第n个参数
$0 $1 $2 $3 $4 $5 $6 $7 $8 $9
脚本名字 A B C D E F G H I
$0=当前脚本名称
向脚本中使用位置参数
向系统命令传递参数
特殊变量
$# 传递到脚本的参数列表个数
$* 以一个单字符串显示所有向脚本传递的参数,例如 "$1$2$3"
$@ 显示所有向脚本传递的参数,"$1" "$2" "$3"
$$ 脚本运行的当前进程ID号
位置变量(跟脚本和函数有很大的关系)
位置变量表示$0,$1… …$9 (只有9个)当其作为script脚本的执行参数的时候,则分别代表传入的第几个参数,$1代表第一个参数,$n 代表第n个参数
$0 $1 $2 $3 $4 $5 $6 $7 $8 $9
脚本名字 A B C D E F G H I
$0=当前脚本名称
向脚本中使用位置参数
向系统命令传递参数
特殊变量
$# 传递到脚本的参数列表个数
$* 以一个单字符串显示所有向脚本传递的参数,例如 "$1$2$3"
$@ 显示所有向脚本传递的参数,"$1" "$2" "$3"
$$ 脚本运行的当前进程ID号
剩余7页未读,继续阅读
资源评论
sun054956
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功