写点什么

什么是 shell?

用户头像
学神来啦
关注
发布于: 8 小时前

1 什么是 shell?

Shell 是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户。这种对话方式可以是交互式也可以是非交互式的



我们所输入的命令计算机是不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制程序,同时又把计算机生成的结果返回给我们。


当前终端使用的哪种 shell?



大多数 linux 发行版本默认 shell 使用的是 bash

2 扩展:编程语言分类

编程语言主要用:低级语言和高级语言

1)低级语言:

机器语言:二进制语言汇编语言:符号语言,使用助记符来代替操作码,也就是用符号代替机器语言的二进制码它们都是面向机器的语言

2)高级语言:

它是比较接近自然语言或者说人类语言的一种编程,用人们能够容易理解的方式进行编写程序,静态语言:编译型语言 如:c 、 c++ 、 java,动态语言:解释型语言 如: php 、 shell 、 python 、perlgcc 编译器:(解释器)将人类理解的语言翻译成机器理解的语言静态语言和动态语言的区别:静态语言编译时,变量的数据类型是确定的,静态语言对硬件更友好,运行效率更高。动态语言,运行时确定变量的数据类型,且运行时可改变变量的类型。动态语言更简洁,对人类更友好,可以把更多精力放在业务逻辑上。

3 什么是 SHELL 脚本?

shell 脚本:就是说我们把原来 linux 命令或语句放在一个文件中,然后通过这个程序文件去执行时,我们就说这个程序为 shell 脚本或 shell 程序;我们可以在脚本中输入一系列的命令以及相关的语法语句组合,比如变量,流程控制语句等,把他们有机结合起来就形成了一个功能强大的 shell 脚本。先手写一个脚本体验一下:


[root@xuegod63 ~]# vim test.sh     #写入以下内容#!/bin/bash#This is shell.echo "hello world"mkdir /tmp/testtouch /tmp/test/a.txt
复制代码



注释:1、!/bin/bash 作用:告诉脚本使用的是哪种命令解释器。如不指 shell,以当前 shell 作为执行的 shell。2、在 shell 中以 #表示开头,整个行就被当作一个注释。执行时被忽略。3、shell 程序一般以.sh 结尾


[root@xuegod63 ~]# chmod +x test.sh[root@xuegod63 ~]# ./test.sh     #执行hello world
复制代码


创建 shell 程序的步骤:第一步:创建一个包含命令和控制结构的文件。第二步:修改这个文件的权限使它可以执行。使用 chmod +x test.sh 第三步:检测语法错误 bash -x abc.sh 第四步:执行 ./exampleshell 脚本的执行通常有以下几种方式 1、/root/test.sh 或者 ./test.sh (当前路径下执行脚本的话要有执行权限 chmod +x test.sh)2、bash test.sh 或 sh test.sh (这种方式可以不对脚本文件添加执行权限)3、source test.sh (可以没有执行权限) .test.sh4、sh < test.sh 或者 cat test.sh |sh(bash)


小神为大家准备了很多干货等你来拿!



用户头像

学神来啦

关注

还未添加个人签名 2021.06.02 加入

10年Linux使用及管理经验,7年IT在线教育培训经验。精通Linux、Python、思科、C++、安全渗透等技术。曾任职国内知名互联网公司高级运维架构师、运维总监。对基于Linux下开源程序Openstack、Docker、K8S、DevOps、

评论

发布
暂无评论
什么是 shell?