如何理解Linux Shell和基本Shell脚本语言? 您所在的位置:网站首页 linux和shell脚本的关系 如何理解Linux Shell和基本Shell脚本语言?

如何理解Linux Shell和基本Shell脚本语言?

2022-05-12 15:30| 来源: 网络整理| 查看: 265

如何理解Linux Shell和基本Shell脚本语言? 2014-04-05 07:59 编程技术 阅读 10.2k 评论 0 干货资料

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai 领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

 理解Linux Shell:

shell:一个命令行解释器,通过执行命令或脚本,帮助用户与操作系统打交道。

process:进程,用户执行的任务是进程,但进程不只是任务。

file:文件放在硬盘上,包含用户所有的数据。

x-windows(又称windows):Linux的一种模式,使屏幕包含多个视窗,让用户同时监视多个任务,方便地穿梭于任务之间,它是图形化的。

text terminal:一种只能显示文字或简单图形的视窗。

session:登入,建立会话;登出,注销会话。

标准Linux发行版里的shell种类:

Bourne Shell:它是早期版本中的一种主要的shell,并且后来成为了标准。由贝尔实验室的 Stephen Bourne 所写。每个“类Unix”的系统里都至少有一种shell与之兼容。Bourne Shell 的程序命名为“sh”,一般放在 /bin/sh 。

C shell:由 Bill Joy 为 BSD 版本所写。它的语法是模仿C语言的。它主要用于交互式操作,有很多交互式命令,而不太常用于写脚本。

开始玩了!

命令有成千上万条,都把它们记住,好吗?额,很明显那是不行的。计算机的真正用途是简化你的工作,你需要过程自动化,所以,你需要脚本。

脚本是命令的集合,保存在文件里。shell能读取这些文件并且执行里面的命令,就像执行键盘发来的命令。shell还提供各种各样的编程特性,使得脚本真心强大。

shell编程基础:

开启终端,以获取shell

看下你用着什么shell,运行:echo SHELL

在Linux shell中,美元符号代表一个变量

“echo”命令就是回复你键入任何东西

当需要串联几个命令时,管线指令 “|” 就有用了

Linux命令有自己的语法,你的任何错误都不会被容忍和接受。如果你写了条不规范的命令,当然不会如愿执行。

#!/bin/sh —— 这个叫环境。这句写在shell脚本的首行,使得命令被发送到 /bin/sh 程序

关于shell 脚本:

shell脚本就是一个普通的文本文件,扩展名是  .sh ,且能够被执行。

编写和执行脚本:

打开终端

“cd”命令,去到你想存放该脚本的地方

cd,回车,使你的提示符变成home目录

touch hello.sh(这里我们的脚本命名为hello,而 .sh 是规定的)

vi hello.sh(nano hello.sh)用你最喜欢的编辑器,我用nano

chmod 744 hello.sh(使脚本可被执行)

sh hello.sh 或者 ./hello.sh (执行脚本)

编写你第一个脚本: #!/bin/bash # My first script

echo “Hello World!”

如上所述,将这几行东西,保存在文本文件里,使之可执行,并执行之。

输出的样子:

Hello World!

上面的代码解释如下。 #!/bin/bash ( 运行环境 ) # My first script ( 注释,任何位于#后的东西都被注释 ) echo “Hello World!” ( 脚本的主要部分 )

编写你第二个脚本:

是时候写下一个了。这个脚本会说出你的username和列出运行中的process #! /bin/bash echo “Hello USER” echo “Hey i am”USER “and will be telling you about the current processes” echo “Running processes List” ps

如上所述,将这几行东西,保存在文本文件里,文件叫啥名字都行,但记住扩展名为 .sh ,使之可执行,并执行之。

Hello tecmint Hey i am tecmint and will be telling you about the current processes Running processes List PID TTY TIME CMD 1111 pts/0 00:00:00 bash 1287 pts/0 00:00:00 sh 1288 pts/0 00:00:00 ps

觉得酷吗?编写脚本就像将想法转变为流程式命令一样简单。通过内置的过滤器和管道功能,shell 脚本擅长做简单的文件系统操作。

当你的需求更复杂,例如是功能、健壮、性能、效率等方面时,你就需要一个全能的语言了。

当你已经熟悉 C、PERL、PYTHON之类时,学习脚本语言就不觉得难了。

编写你第三个脚本:

接着,来写第三个也是本文最后一个脚本。这个脚本表现为一个互动式的脚本,何不亲自执行它,说下感觉怎样?

[code language=”shel”]#! /bin/bash echo "Hey what’s Your First Name?"; read a; echo "welcome Mr./Mrs. a, would you like to tell us, Your Last Name"; read b; echo "Thanks Mr./Mrs.a b for telling us your name"; echo "*******************" echo "Mr./Mrs.b, it’s time to say you good bye"[/code]

输出的样子:

Hey what's Your First Name? Avishek welcome Mr./Mrs. Avishek, would you like to tell us, Your Last Name Kumar Thanks Mr./Mrs. Avishek Kumar for telling us your name ****************************************************** Mr./Mrs. Kumar, it's time to say you good bye

其实,这事还没完。我们只不过让你浅尝了一下。在未来,我们会全面开展“脚本”这个话题,它会一直下去,没有最详尽,只有更详尽。各位在评论中的宝贵意见都是可赞的!请支持我们,并帮忙宣传,保持联系,敬请关注!

本文链接:http://www.yunweipai.com/3131.html

点赞 1 分享到微信 分享到微博


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有