Shell是种命令解释程序,也可以看作是一种命令语言的类库。用户在与Shell交互时所输入的命令行必须符合Shell命令的句型和语义规范,才才能被Shell理解并执行。Shell所使用的这些命令语言称为Shell语言。Shell语言不仅仅是一种交互式语言,它还是一种可编程的程序设计语言。将若干个Shell命令行写入个文件就构成了一个Shell程序,它可以被Shell逐字地解释执行。用Shell语言编撰的Shell程序可以使用各类变量、参数和控制结构来组织命令流程,手动化地完成各类复杂冗繁的处理工作。

Linux系统中广泛使用了Shell程序来实现系统的初启、配置、管理和维护等工作。为此,熟练把握Shell语言可以愈发深入地理解系统的运行机制,愈发有效地使用和管理系统。

linux编程常用命令_linux命令行常用编辑器_linux命令,编辑器,shell编程实例大全

Shell语言的特征:

与其他编程语言相比,Shell语言具有如下特征:

(1)Shell是一种解释性语言。这就是说,用Shell语言写的程序不需编译,可以直接由Shell进程解释执行。解释性语言的特征是快捷便捷,可以即编即用linux命令,编辑器,shell编程实例大全,但与编译性语言的目标程序来比,解释性语言程序的运行速率要低一些。

(2)Shell是基于字符串的语言。Shell只是做字符串处理,不支持复杂的数据结构和运算。Shell的输出也全部是字符形式的。

(3)Shell是命令级语言。Shell程序全部由命令而不是句子组成,几乎所有的Shell命令和可执行程序都可拿来编撰Shell程序。Shell命令非常丰富,命令的组合功能也非常强悍。所以,用简单的命令和命令组合产生的Shell程序即简约又高效,可以实现各类复杂的功能。另外须要说明的是,不同版本的Shell程序不完全兼容,差异可能是细微的,也可能是显著的。

Shell程序称作Shell脚本(script),是由一系列Shell命令为基本元素构成的文本文件。简单的Shell程序可以只是一个命令序列,中级Shell程序中还可以包含复杂的命令组合,定义各类参数和变量、使用条件命令、控制结构以及其他中级特点。

Shell程序的构建与执行

Shell脚本文是文本文件,因而可以用任何文本编辑器(如vi,emacs等)构建和编辑脚本。Shell脚本文件的名称没有限定的拓展名,一般不带拓展名或则带“.sh”拓展名。

Shell脚本的执行方法主要有3种。

linux命令,编辑器,shell编程实例大全_linux命令行常用编辑器_linux编程常用命令

(1)将脚本作为可执行文件执行:

1.$chmoda+xhello

2.$./hello

用文本编辑器生成的脚本文件默认是没有x权限的,也就是说是不可直接执行的。赋于x权限后,脚本就可以像通常的Shell命令那样执行了。假如脚本不在系统储存命令的标准目录下,须要在执行时指定脚本的路径。上例中脚本hllo置于当前目录下,所以要用.hello来运行。

(2)启动一一个Shell子进程来执行脚本文件:

1.$bashhello#或bash<hello

执行此命令行时,Shell进程先启动一个bash子进程,让它执行hello脚本的内容,执行完毕后bash子进程也中止。在这些方法中,脚本是作为命令参数传给子Shell的。子Shell运行时读取该文件并执行其内容linux命令,编辑器,shell编程实例大全,因而脚本文件毋须有执行权限。这些技巧常用于运行一个其他版本的Sbell脚本。如果当前Shell是bash,而chello是用CShell语言写的脚本,则要执行这个脚本时可以用cshchello命令启动一个csh进程来执行它。

(3)让当前Shell进程执行脚本文件:

1.$.hello

“.”是一个shell内部命令,hello是它的参数。命令的功能是读取参数指定的文件linux命令行和shell脚本编程宝典,执行其内容。这些执行方法与第2种方法类似,区别在于此方法是由当前Shell进程来执行脚本文件的。

linux编程常用命令_linux命令行常用编辑器_linux命令,编辑器,shell编程实例大全

后面大致简介了一下哪些是Shell脚本,它有哪些特征,做哪些用的linux服务器配置与管理,想必如今你们对这个有了一定程度的了解,其实这只是学习Linux操作系统中所接触到的冰山一角,想要学好Linux操作系统,就必须学好Shell,那如何样能够学好Shell呢?我们先看一个简单的Shell程序:

1.$cathello#helloprogram

2.#thisisashellscripttosayhello

3.echoHelloWorld!

4.echo-n“Todayis”

linux命令,编辑器,shell编程实例大全_linux命令行常用编辑器_linux编程常用命令

5.date“+%A,%B%d,%Y.”

6.$.hello#run

7.HelloWorld!

8.TodayisSunday,July15,2018.

9.$_

这个hello程序的第二行是注释,前面3行是命令,在执行程序时,shell依次执行这3个命令,并输出显示信息。这就是一个简单的helloworld代码,几乎所有的程序员学习怎么编撰代码都是从这儿起家的。

学习linux运维,这是必经之路,不晓得诸位读者是自学呢,还是在校老师教导,不过在我看来,学习技术还是的有一个完整的体系,前几天逛网页,看见一个关于linux学习的网站,叫linuxprobe,配套有书籍叫《Linux就该如此学》,进去瞄了一眼,觉得还不错,上面的知识构架挺好,假如诸位有兴趣可以一阅!不管你学不学,资料就在那里不断增多;不管你学不学习,时间就这么多,渐渐流逝!

祝诸位运维人前程似锦!加油!!!

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复