码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本的简单制作与格式

时间:2017-08-18 23:52:24      阅读:366      评论:0      收藏:0      [点我收藏+]

标签:shell脚本

shell脚本基础

1、第一个脚本

vim  first.sh

技术分享
分别使用三种方法执行脚本:

  ./first.sh  (需要有可执行的权限)

  sh    first.sh

  .   first.sh(或source  first.sh

 

2、重定向与管道符

1)重定向输出(>

技术分享
2)重定向输出(>>追加)

技术分享
3)重定向输入<</font>

 useradd  jerry

vi   pass.txt (在里面输入123456,保存退出)

技术分享
注明:将jerry用户的密码设置为123456

 4)错误重定向(2>

技术分享
5)混合重定向输出(&>

例如:在编译源码包的自动化脚本中,若要忽略makemake  install等操作过程的信息,可以将其定向到空文件/dev/null

先挂载光盘(第一章的linux安全及高级应用_web网络服务.iso”),将光盘的中的httpd-2.2.17.tar.gz文件解压到/usr/src下,编写脚本安装。

vim  httpd_install.sh

技术分享
chmod  +x  httpd_install.sh (设置可执行权限)

./ httpd_install.sh    (执行脚本,等待结束后,查看结果)

6)管道符(|

先查看以/bin/bash结尾的行

 技术分享

只输出用户名和登录的shell

技术分享
7)管道符(|):提取根分区的磁盘使用率信息

技术分享
二、使用shell变量

1、定义新的变量

技术分享
2、变量赋值的特殊操作

1)双引号使用():赋值的内容包含空格时

技术分享
2)单引号使用():赋值的内容中包含$,  ‘’ ,  \ 等具有特殊含义的字符时

技术分享
3)反撇号使用(`: 用于将某个命令的输出结果赋值给变量

技术分享
4)$()来代替反撇号操作,可以解决嵌套的问题

技术分享

5read命令:用来提示用户输入信息,例如:

技术分享
3、设置变量的作用范围

新定义的变量只在当前shell有效,如果想进入新的shell环境同样有效,就需要使用export命令将变量导出为“全局变量”

技术分享
exit

也可以在export导出全局变量的同时,也可以为变量赋值,例如:

技术分享
4、数值变量的运算

 加(+),减(-),乘(\*),除(/),求模(%

技术分享

三、特殊的shell变量

1、环境变量(系统自身就有)

环境变量系统安装好了就存在,不用创建,可以直接使用,查看一下环境变量

技术分享

我们可以把脚本直接添加到$PATH搜索路径中去,这样执行脚本的时候就不用加./

如:first.sh脚本在 /root目录下

技术分享
2、位置变量(系统自身就有)

位置变量也称之为位置参数,使用$1$2$3$4..$9表示

技术分享
3、预定义变量(系统自身就有)

$#(表示命令行中位置参数的个数)

$*(表示所有位置参数的内容)

$?(表示前一个命令执行后的返回状态,返回值为0表示执行正确,非0表示出现异常)

$0(表示当前执行的脚本或程序的名称)

如:编写一个备份的小脚本

技术分享

技术分享


本文出自 “IT@彦小疯” 博客,转载请与作者联系!

shell脚本的简单制作与格式

标签:shell脚本

原文地址:http://cyk5348.blog.51cto.com/13216385/1957462

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!