美文网首页@IT·互联网
Shell:体验编程的低成本选择(上篇)

Shell:体验编程的低成本选择(上篇)

作者: 御承扬 | 来源:发表于2024-04-06 20:21 被阅读0次

Shell,一种脚本语言,是主流操作系统出厂便支持的,即 Windows 系统、MacOS 系统和 Linux 的各个发行版,都支持运行 Shell 语句和脚本。Shell 之于运维工程师,就好比斧头之于樵夫,是不可或缺的生产工具。然而,Shell 的魅力却不仅仅是如此。对想体验编程的人士来说,Shell 由于开机可用、免安装要比 C/C++、Java 和 Python,具有更低的体验成本。同时,Shell 的语法内容和关键字都比它们少很多,这意味着学习难度更低。因此,对于只是抱着尝试心态想要体验编程的人来说,Shell 真的是最佳首选。

Shell 脚本,和其他代码脚本一样,需要借助命令窗口才能解析和执行。在 Windows 中,具有解析和执行 Shell 脚本的命令窗口,是 Powershell;而在 MacOS 和 Linux 中,任意一个命令终端窗口都支持解析和执行 Shell 脚本,不过,保险起见,你可以用 Shell 命令中的 echo 命令,去确认所打开的命令窗口是否支持解析和执行 Shell,具体如下:

用 echo 命令检测是否支持 Shell

只要回车之后,命令窗口没有提示“echo 不是可执行的命令”等错误相关的信息,那么,你所打开的命令窗口,就是支持解析和执行 Shell。

麻雀虽小,但五脏俱全,Shell 除了不支持结构体和类外,在变量和数组的声明、流程控制、函数声明和参数传递、输入输出等方面都是支持的,并且也支持条件判断、大小比较等运算,而加减乘除赋值等运算符也是支持。总而言之,除了不支持自定义数据结构,Shell 在很多操作上都和 C/C++、Java 和 Python 等编程语言,是相互一致的。

1、变量和数组的声明

1.1、变量

Shell 语法中,并没有数据类型的概念,因而在 Shell 脚本中声明变量时,并不需要显式地指定数据类型,由此,我们可以将 Shell 归入弱类型编程语言阵营中。Shell 声明变量的语法格式如下:

声明变量

Shell 脚本中声明变量时,和 Python 类似,等号左边为变量名、右边为变量值,需要注意的是,变量名和等号之间不允许有空格,此外,合法的变量名应当遵循如下规则:

Shell 的变量名命名规则

而执行 Shell 脚本也非常简单,只需在支持解析和执行 Shell 脚本的命令窗口中,前往Shell 脚本所在的目录,而后将待执行的 Shell 脚本设置成可执行模式,然后再用 ./[shell].sh 命令去执行即可,如下:

在终端窗口执行 Shell 脚本

1.2、数组声明

数组的声明和变量的声明比较类似,只不过变量值从单个的值,换成了由圆括号扩起来的一系列值,如下:

声明数组

上面是 Shell 脚本中最基本数组声明语法,除了表示符号和分隔符的差异外,作为动态类型语言的 Shell,和 Python 很多方面都很相似。而 Shell 获取数组的所有元素,无需通过遍历,使用 @ 或 * 可以获取数组中的所有元素,而基于这两个符号再加上! 或 # 还能轻松的获取数组的键名和长度,如下:

2、运算符

Shell 所支持的运算符有算术运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。

2.1、算术运算符

在 Shell 脚本中使用算术运算符的语法如下:

算术运算

Shell 的算术运算符要在算术运算表达式中使用,而算术运算表达式由反引号扩起来、并以关键词 expr 开头。

2.2、其他运算符

除算术运算外,其他几种运算的结果都是 true 或 false,因此,放到流程控制中去列举。

3、流程控制

Shell 脚本的流程结构,也是分为顺序结构、选择结构和循环结构,同样是顺序结构作为 Shell 脚本的默认流程结构。Shell 的选择结构也是 if-else 和 case 两种,而循环结构除了常见的 for 循环和 while 循环外,还多了一个 until 循环。

3.1、选择结构

3.1.1、if 语句

Shell 的 if 语句的语法格式,如下:

if语句

与其他编程语言所不同的是,Shell 的 if 语句,需要用 fi 作为语句块的结束标志。

3.1.2、case 语句

Shell 的 case 语句如下:

case 语句

如上所示,case 语句其实就是 switch-case 结构。

3.2、循环结构

3.2.1、循环语句

Shell 中的循环语句如下:

循环语句

3.2.2、循环控制

Shell 也同样提供了 break 和 continue 两个关键字进行循环控制,用法如下:

带控制的循环

相关文章

  • shell 案例

    Shell编程一 Shell防范ARP攻击 Shell编程二 Shell防范DDos攻击 Shell编程三 ...

  • shell 第一天

    shell编程初识 1.1 shell编程初识 shell的定义 Shell 是命令解释器 Shell 也是...

  • 2017-7-31 Shell脚本编程基础

    一.编程基本概念 编程逻辑处理方式: 顺序执行 循环执行 选择执行 shell编程:过程式、解释执行编程语言的基...

  • shell编程其实真的很简单(四)

    上篇我们学习了shell中条件选择语句的用法。接下来本篇就来学习循环语句。在shell中,循环是通过for, wh...

  • 78.shell编程

    shell编程 Shell脚本,是一种为shell编写的脚本程序。 Shell编程跟JavaScript、Pyth...

  • 2019-01-25

    Linux系统Shell编程指南 前言 适合人群:有类似C编程基础的人 一、Shell编程介绍 Shell解释型语...

  • day 28

    shell编程基础 shell编程一小时光速入门web集群架构会用到shell编程基础 1、为什么要学shell编...

  • Spark-1.4.0单机部署测试

    接着上篇部署。该篇是针对上篇的测试。 测试 Spark-shell测试./spark-shell...scala>...

  • Shell学习笔记-Shell编程初体验

    通常,当提到“shell脚本”时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本...

  • Shell 编程的 Hello World

    什么是 Shell?简单来说,Shell 编程是对 Linux 命令的逻辑化处理。 来看看 Shell 编程是如何...

网友评论

    本文标题:Shell:体验编程的低成本选择(上篇)

    本文链接:https://www.haomeiwen.com/subject/bcxztjtx.html