shell脚本一(脚本介绍)

在了解脚本编程之前,先来了解一下编译型和解释型的概念:

编译型语言和解释型语言必须知识点

概念:计算机不能直接理解高级语言,只能理解机器语言,也就是二进制指令,我们通常用高级语言写的代码都是先转换成机器语言才执行的。而这种转换的方式有两种:一个是编译,一个是解释。

特征:解释型语言是指程序的转换机制是一个解释器,程序通过解释器来即使执行,自己并没有干什么事,只负责指挥。(例如shell脚本语言)。

编译型语言采用的转换机制是一个编译器,将高级语言写的程序转换成可执行文件(例如C语言)

区别:

主要区别优点缺点
编译型语言编译型语言的程序只需要经过编译器编译之后,每次执行程序都可以直接运行,不需要中再次进行编译因为程序只需要编译一次,所以它的运行速度极快可移植性差,因为编译器需要对操作系统的库做出链接,所以程序运行时需要用到特定的库
解释型语言解释型语言的程序每次执行都需要解释器解释一遍可移植性好,因为只需要各种系统有解释器即可,不需要复杂的系统库支持因为程序每次都要翻译一次,所以它的执行速度慢

C、C++、java、shell脚本的区别

1.C和C++就是编译型语言,编译之后才是一个可执行文件,xx.c xx.cpp文件在编译之后形成可执行文件(可执行程序其实是对应的二进制指令构成,所谓的格式是对这些二进制指令的描述) 在Windows上是PE格式 在Linux上是ELF格式

2.shell脚本是解释型的,一般以.sh为后缀,python也一样 xx.py用python来解释执行

xx.sh–>解释器–>解释执行

文本文件 bash

3.java语言是一个编译型+解释型的(xx.java–>xx.class)

java虚拟机不是跨平台的,其实就是一个main.exe可执行程序,java代码编译之后生成的.class文件是跨平台的**.class**文件通过java虚拟机(其实是一个main.exe代码,可解释执行程序)解释来执行,执行效率没有直接编译执行执行效率高(因为每次都有一个解释的过程)

例:不同设备的QQ音乐可以播放同一首mp3歌曲,MP3其实就是一个二进制文件 ,而QQ音乐就是一个可执行程序,可执行程序解释执行这个二进制文件

什么是shell?

shell是linux的一个外壳,它包含在linux内核的外边,为用户和内核之间的交互提供了一个接口,当用户下达指令给该操作系统时,实际上是把指令告诉shell,经过shell解释,处理后内核做出回应和输出信息,再经shell处理,然后显示在屏幕上。

什么是shell脚本?

简单的来说,当命令或者程序不再命令行执行,而是通过一个程序文件来执行,这个程序就称为shell脚本,也就是在shell脚本里内置了多条命令,语句,然后将这些命令一次性执行完毕,这种通过文件来执行命令的方式称为非交互式。

shell和shell脚本一样吗?

shell和shell脚本本质来说,是没有多大区别的,可以把shell脚本理解为shell的一个子集,shell脚本只是调用shell中的一部分指令来完成相应的功能。

为什么要用shell脚本?

  1. 适合处理操作系统的底层业务,有众多系统命令为其作支撑(还有文本处理三兄弟:grep,sed,awk)
  2. 适合处理纯文本文件,linux中有许多服务配置文件、启动脚本,都是纯文本文件(如httpd,nfs,mysql,nginx,lvs)
  3. linux系统脚本用shell开发更简单,简言之,shell脚本操作更加方便,快捷,高效

例:打印出浮点数的整数部分
在这里插入图片描述

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值