【Linux入门】十三、Shell基础1 -- 概述&脚本执行方式

Shell基础1 -- 概述&脚本执行方式

1 概述

命令解释器

Shell是一个命令行解释器,它为用户提供一个向Linux内核发送请求以便运行程序的界面系统级程序;

最底层是硬件,系统通过内核来管理硬件,但是我们在外层应用程序或者是我们敲入的命令,内核是无法识别的;

而计算机能够识别的是0101的机器语言。Shell的作用就在于翻译我们输入的命令为内核能识别的机器语言,并将处理结果翻译为用户可以识别的返回结果;

Shell其实就是用户和计算机(内核)进行交互的界面,然后把用户的命令翻译为计算机可以识别的机器语言,

再把命令传递给硬件,硬件来执行;内核执行完之后,将其反翻译为用户可以看懂的abcd....

我们平时操作的命令界面即Linux的Shell:

用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

强大的编程语言

Shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。

Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。

2 Shell的分类

Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。

扫描二维码关注公众号,回复: 2475667 查看本文章

Bourne Shell

从1979年起Unix就开始使用Bourne Shell,Bourne Shell(B Shell)的主文件名为sh。

Bourne家族主要包括:sh,ksh,Bash,psh,zsh;

Bourne Shell更加主流,Linux的标准shell是Bash,是Bourne家族中的一员,它的语言结构与B Shell非常类型,而且完全兼容。

Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。

C Shell

C Shell主要在BSD版的Unix系统中使用,其语法和C语言相类似而得名;

C Shell主要包括:csh,tcsh。

3 Linux支持的Shell

Linux支持的Shell可以通过/etc/shells文件查询

Shell切换,只要在Shell中输入shell类型即可,输入exit退出。

4 脚本执行方式

echo命令

这里首先学习一个echo命令

echo [选项] [输出内容]

选项:

-e  支持反斜线控制的字符转换

用法:

不加任何选项的话,直接使用echo + 输出内容。

如果要输出的内容,中间有空格,需要加双引号,没有空格的话可以不加

举个例子:

第一个脚本

首先vim创建sh1_hello_world.sh

虽然Linux文件不区分扩展名,但这里加上sh拓展名,目的是告诉系统,该文件是bash脚本;

当使用vim编辑器时,系统会尝试使用颜色来标识,如下:

#!/bin/bash 这句并不是注释,而是标识当前程序是Shell脚本。

其余以#开头的则为注释。

脚本执行方式1:

首先赋予文件执行权限,然后使用文件路径来执行。

注意:这里使用绝对路径或相对路径均可,但不能直接使用文件名,即使已经在文件目录下。

(除非将目录加入到环境变量PATH中)

脚本执行方式2:

bash 直接加文件名(如果在文件目录下可以不加路径,与上面方式1不同,而且不需要先赋予执行权限)

常用的是方式1的方法。

注意:

在Windows下编辑好的脚本文件拷贝到Linux系统下,是无法直接执行的;

原因在于Linux中回车符识别为$,而Windows中编辑的文件,回车符在Linux中识别为^M$,故无法直接运行;

可以使用:dos2unix 脚本名(Windows下编辑的文件)将其转换成Linux下可以运行的文件

猜你喜欢

转载自blog.csdn.net/weixin_39723165/article/details/81276529