当前位置: 首页 > news >正文

南通网站建设空间网站排名大全

南通网站建设空间,网站排名大全,做彩票网站模板,无锡 网站建设公司为什么学习和使用Shell编程 什么是Shell shell的起源 shell的功能 shell的分类 如何查看当前系统支持的shell? 如何查看当前系统默认shell? 驼峰语句 shell脚本的基本元素 shell脚本编写规范 shell脚本的执行方式 shell脚本的退出状态 &#xf…

为什么学习和使用Shell编程

什么是Shell

 shell的起源

shell的功能

 shell的分类

如何查看当前系统支持的shell?

如何查看当前系统默认shell?  

驼峰语句

shell脚本的基本元素

shell脚本编写规范 

 shell脚本的执行方式      

shell脚本的退出状态 (查看状态echo $?)

执行脚本的方法


为什么学习和使用Shell编程

对于一个合格的系统管理员来说,学习和掌握Shell编程是非常重要的。通过编程,可以在很大程度 上简化日常的维护工作,使得管理员从简单的重复劳动中解脱出来。
shell程序的特点:
1、简单易学
2、解释性语言,不需要编译即可执行

什么是Shell

在学习Shell编程之前,必须弄清楚什么是Shell。为了能够使读者在学习具体的Shell编程之前对 Shell有个基本的了解,本节将对Shell进行概括性的介绍,包括Shell的起源和功能。

 shell的起源

1964年,美国AT&T公司的贝尔实验室、麻省理工学院及美国通用电气公司共同参与开始研发一套 可以安装在大型主机上的多用户、多任务的操作系统,该操作系统的名称为Multics
1970年,丹尼斯里奇和汤普逊启动了另外一个新的多用户、多任务的操作系统的项目,他们把这 个项目称之为UNICS。 1973年,使用C语言重新编写了Unix。通过这次编写,使得Unix得以移植到其他的小型机上面。 1979年,第一个重要的标准UNIX ShellUnix的第7版中推出,并以作者史蒂夫伯恩(Stephen Bourne)的名字命名,叫做Bourne Shell,简称为sh
20世纪70年代末,C Shell作为2BSD UNIX的一部分发布,简称csh
之后又出现了许多其他的Shell程序,主要包括Tenex C Shelltcsh)、Korn Shellksh)以及 GNU Bourne-Again shell(bash)。

shell的功能

Shell又称命令解释器,它能识别用户输入的各种命令,并传递给操作系统。它的作用类似于
Windows操作系统中的命令行,但是,Shell的功能远比命令行强大的多。在UNIX或者localhost中, Shell既是用户交互的界面,也是控制系统的脚本语言。

 shell的分类

Bourne Shell:标识为sh,该ShellSteve Bourne在贝尔实验室时编写。在许多Unix系统中,该 Shell是root用户的默认的Shell。 Bourne-Again Shell:标识为bash,该ShellBrian Fox1987年编写,是绝大多数localhost发行 版的默认的Shell
Korn Shell:标识为ksh,该Shell由贝尔实验室的David Korn在二十世纪八十年代早期编写。它完 全向上兼容 Bourne Shell 并包含了C Shell 的很多特性。 C Shell:标识为csh,该ShellBill JoyBSD系统上开发。由于其语法类似于C语言,因此称为C Shell。

如何查看当前系统支持的shell

[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

如何查看当前系统默认shell 

[root@localhost ~]# echo $SHELL

/bin/bash

驼峰语句

什么是驼峰语法?
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:
myFirstNamemyLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
除了驼峰命名法,另外还有匈牙利命名法。基本原则是:变量名=属性+类型+对象描述。匈牙利命
名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单 词或多个单词组合,该单词要指明变量的用途。比如m_lpszStr, 表示指向一个以0字符结尾的字符串的长 指针成员变量。 另外,有些程序员喜欢用下划线。比如file_name

shell脚本的基本元素

对于一个基本的Shell程序来说,应该拥有以下基本元素:
声明:声明用哪个命令解释器来解释并执行当前脚本文件中的语句,一般写的解释器为
#!/bin/bash
2.命令:可执行语句,实现程序的功能。
3.注释:说明某些代码的功能,通过在代码中增加注释可以提高程序的可读性。
1)单行注释:#开头的一整行都是注释,例如:
#comment1
#comment2
#comment3
……
2)多行注释,使用冒号“:”配合here document可实现多行注释,例如:
:<<BLOCK
……注释内容
BLOCK
4.赋予rx的权限

shell脚本编写规范 

1)脚本文件名应见名知意,例如backup_mysql.sh
2)文件开头指定脚本解释器 #!/bin/sh #!/bin/bash
3)开头加版本特权等信息

# Date:创建日期
# Author:作者
# Mail:联系方式
# Function:功能
# Version:版本
4)脚本中尽量不要用中文注释
别吝啬添加注释,必要的注释方便自己别人理解脚本逻辑和功能;
尽量用英文注释,防止本机或切换系统环境后中文乱码的困扰;
单行注释,可以放在代码行的尾部或代码行的上部;
多行注释,用于注解复杂的功能说明,可以放在程序体中,也可以放在代码块的开始部分。
5)多使用内部命令
常用的内部命令有:echoevalexecexportreadshiftexit

 shell脚本的执行方式      

1)bash ./filename.sh(产生子进程,再运行,使用当前指定的bash shell去运行)

2./filename.sh(产生子进程,再运行,使用脚本里面指定的shell去运行。使用该种方式执行需要x 权限
3source ./filename.shsource命令是一个shell内部命令,其功能是读取指定的shell程序文件,并 且依次执行其中的所有的语句,并没有创建新的子shell进程,所以脚本里面所有创建的变量都会保存到 当前的shell里面)
4. filename.sh(和source一样,也是使用当前进程执行)

shell脚本的退出状态 (查看状态echo $?)

UNIX或者Linux中,每个命令都会返回一个退出状态码。退出状态码是一个整数,其有效范围为 0~255。通常情况下,成功的命令返回0,而不成功的命令返回非0值。非0值通常都被解释成一个错误 码。行为良好的UNIX命令,程序和工具都会返回0作为退出码来表示成功。
Shell脚本中的函数和脚本本身也会返回退出状态码。在脚本或者是脚本函数中执行的最后的命令会决定 退出状态码。另外,用户也可以在脚本中使用exit语句将指定的退出状态码传递给Shell
[root@localhost ~]# vim ~/.vimrc
shell脚本的执行方式
1)交互式执行
2)作为程序文件执行(常用)
对于一组需要经常重复执行的Shell语句来说,将它们保存在一个文件中来执行。我们通常称这种包 含多个Shell语句的文件为Shell脚本,或者Shell脚本文件。脚本文件是普通的文本文件,可使用任何的 文本编辑器查看或修改Shell脚本。

执行脚本的方法

1bash ./filename.sh(产生子进程,再运行,使用当前指定的bash shell去运行)
2./filename.sh(产生子进程,再运行,使用脚本里面指定的shell去运行。使用该种方式执行需要x
权限)
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == 'sh'
call setline(1,"#!/bin/bash")
call setline(2,"#########################")
call setline(3,"#File name:".expand("%"))
call setline(4,"#Version:v1.0")
call setline(5,"#Email:admin@test.com")
call setline(6,"#Created time:".strftime("%F %T"))
call setline(7,"#Description:")
call setline(8,"#########################")
call setline(9,"")
endif
endfunc

 创建一个shell文件如图

 

http://www.wooajung.com/news/30943.html

相关文章:

  • 山西住房和城乡建设部网站点击排名优化
  • 凡科做网站的模版在哪儿找关键词在线查询
  • 团购网站 模板职业培训网络平台
  • 重庆建设集团公司淘宝关键词优化软件
  • wordpress导入演示北京seo网站设计
  • 男女做网站免费刷赞网站推广qq免费
  • 有没有网站做lol赌博的武汉做seo
  • 网页作品集seo是什么及作用
  • 自建房设计软件免费周口seo公司
  • 24小时通过网站备案品牌型网站制作价格
  • web前端需要哪些技术seo外链资源
  • 备案的网站换空间win10优化工具
  • 做58同城那样的网站网络营销服务公司
  • 旅游网站建设的课题研究的主要内容正规专业短期培训学校
  • 广东建设工程注册执业中心网站怎么才能建立一个网站卖东西
  • 博客网站登录宣传推广渠道有哪些
  • 网站收录突然减少免费推广网站大全下载安装
  • 金华app网站开发百度云盘网页版
  • c#网站开发 pdf做搜索引擎推广多少钱
  • 网站搜索栏怎么做优化资源配置
  • 做内容的网站最近的新闻大事20条
  • 咸阳做网站的短视频培训要多少学费
  • 公司企业宣传片拍摄西安seo服务培训
  • 网站建设管理措施威海网站制作
  • 淘宝有做钓鱼网站的吗什么是seo文章
  • 网站建设合同服务响应时间合肥网站seo公司
  • 马鞍山建站软文营销的本质
  • 凡科网商城是正规网站吗seo专业学校
  • 信用泰安网站网络广告类型
  • 泉州网站建设费用登录百度