主页 > 新闻资讯 > 如何学好大数据开发?---shell基本语法

如何学好大数据开发?---shell基本语法

作者:游老师 浏览次数: 2021-04-07 14:13
昨天我们初步了解到了shell的一些基本知识,比如shell的分类,常用的shell类型。今天就带来大数据开发之shell基本语法,掌握好基础才是最重要的,那接下来就开始学习shell的基本语法。
一、Shell基本语法
在我们常见的编程语言一般分为两类:一个是编译型语言,如 C、C++、Pascal、Go等,必须在程序运行之前将所有代码都翻译成二进制形式,也就是生成可执行文件,用户拿到的是最终生成的可执行文件,看不到源码。这个过程叫做编译(Compile),这样的编程语言叫做编译型语言,完成编译过程的软件叫做编译器(Compiler)。
另一个解释型语言,如 Shell、JavaScript、Python、PHP等,需要一边执行一边翻译,不会生成任何可执行文件,用户必须拿到源码才能运行程序。程序运行后会即时翻译,翻译完一部分执行一部分,不用等到所有代码都翻译完。这个过程叫做解释,这样的编程语言叫做解释型语言或者脚本语言(Script),完成解释过程的软件叫做解释器。
二、变量
1.在Shell中,我们在使用变量之前并不需要进行声明.反之我们可以在需要的时候进行简单的使用就可以了。常规来说,在默认的情况下,所有的变量都是作为字符串进行存储的,尽管有时我们会用数字为其赋值。Shell以及其他的一些实用的转换程序会将数字字符串转换成相应的值为进行操作。在Linux系统中是要区分大小的,因此在Shell看来变量foo与Foo是不同的.
2.在shell中,由于shell变量和一些编程语言不同,一般shell的变量赋值的时候不用带“$”,而使用或者输出的时候要带“$”。所以当我们要访问变量的值的时候,就需要在变量前加个$,而在赋值的时候就只需使用变量的名字即可,Shell会在需要的时候进行动态创建。另外加减乘除的时候要加两层小括号,括号外面要有一个“$”,括号里面的变量可以不用“$”。需要注意的是,变量赋值,变量使用的时候不能有空格,否则会被解析成命令,报错无此命令。
那么如何检测变量内容呢?这里有一个较为简单的办法:“就是在终端进行输出,这时要在变量前加上一个$。”
3.shell 中变量的赋值方式如下:
变量名=值  # (注意!,赋值语句两边不能有空格,即 “=” 号两边不能有空格)。等号右边若有空格的话,需要加上引号(单引号或双引号都是可以的)。shell 中可以在变量名前加上 $ 字符来取变量的值。如下图这个例子
 
输出结果如下:
 
(注意:这里使用的是单引号和双引号的用法)在单引号中,所有特殊字符都没有特殊含义;而在双引号中,"$"、" ` "(反引号)、"\" 有特殊含义,其余的没有特殊含义。至于反引号 " ` ",反引号中可以用来引用系统命令,其中的内容将会被优先执行,其功能与 $(...) 一样,详情后面再做叙述。
三、数组使用
与其他的编程语言一样,Shell也支持数组。数组(Array,这个概念早期文章有提到过,感兴趣的可以点开我的主页找找)是若干数据的集合,其中的每一份数据都称为元素(Element)。
Shell 并且没有限制数组的大小,理论上可以存放无限量的数据。和 C++、Java、C# 等类似,Shell 数组元素的下标也是从 0 开始计数,获取数组中的元素要使用下标[ ],下标可以是一个整数,也可以是一个结果为整数的表达式。当然,下标必须大于等于 0。
不过有一点是比较可惜的,我们常用的Bash Shell只支持一维数组,不支持多维数组,多少造成了一些不方便,初始化时不需要定义数组大小(与 PHP 类似)。
Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:
array_name=(value1 value2 ... valuen)注意,赋值号=两边不能有空格(前面也说过),必须紧挨着数组名和数组元素。在 Shell 中,用括号( )来表示数组,数组元素之间用空格来分隔。
举个例子:nums=(29 100 13 8 91 44)
 
以上就是本期关于大数据开发之shell基本语法的所有内容了,明天还会继续更新大数据开发之shell特殊符号,shell 的相关内容较多,所以就分为了3篇来写。
希望大家点个关注,及时收取最新文章推送,想了解更多敬请咨询加米谷大数据。
有问题的欢迎在评论区留言,如有侵权请告知。
热点排行
推荐文章
立即申请>>