shell脚本基本介绍
1、编程介绍
驱动 硬件默认是不能使用的
CPU控制硬件、不同的厂家硬件设备之间需要进行指令沟通,我们需要驱动程序来进行“翻译”;
更趋近与开发的工程师,要学习“汇编语言”;而“汇编语言”被厂商所限制;
C C++的底层就是汇编语言
现在编程:
基于高级语言,以及超高级语言,更好的让程序员能够的实现编程功能
编程语言的分类:
高级语言
超高级语言需要翻译成计算机可读的语言(二进制指令)
解释型--逐行翻译执行,shell python java
bash -x filename.sh
编译型---一次编译,全部执行C语言 C++ C# java
程序=指令+数据
面向对象---侧重数据的编程语言
面向过程---侧重于指令
编程语言的执行方式:
1、顺序执行
2、循环执行for(遍历) while(循环条件) until(while相反)
3、选择执行---分支 if case
2、shell脚本语言介绍
优点:调用os(操作系统)的命令行,来实现所有功能。
缺点:没有库调用(对比Python)
shell脚本包括:1.命令 2.变量(全局变量、局部变量、本地变量、传参)3.逻辑关系
·shell的第一句话
#!/bin/bash -- 定义脚本解释器
/etc/shells -- 查看当前会话系统支持的shell程序
echo $SHELL -- 查看当前会话的shell程序
/etc/passwd -- 制定了用户默认支持的shell程序(/sbin/nologin)
shell的执行:
1、bash命令来执行脚本
-n 查看shell脚本的逻辑错误
-x 逐行显示执行的脚本程序
2、授权 chmod + x filename.sh
使用全路径执行脚本
3、变量
环境变量
局部变量 declare:定义变量类型
本地变量 local 在函数中使用
变量类型:
数值型:
1.整型 int
2.浮点型 float
3.布尔值 0 1 (真Ture 假False)
字符串:
1.普通字符及字符串
2.数组
编程语言的分类:
强类型语言--数值必须被定义,才能被处理或运算
弱类型语言--编程语言可以自动识别变量类型
(多态 一个数据具有多个属性,而最后使用的属性取决于他进行运算的数据)
传参
$? --上一条命令的执行状态 0 正确 1-255 错误
$1 $2..${10} --命令后面闯入脚本的数据,以空格为分隔符
$# --统计传参的数量
$* --表示所有传参,所有的传参以字符串形式进行传输出
$@ --表示所有传参,将所有的传参以列表的形式进行输出
定义变量的格式:
NAME=value =赋值 ==判断
declare 定义参数类型
declare -i 整数
declare -a 数组
变量命名:
1.下划线的方式指定变量名称
2.驼峰命名方式
4、test文件测试、条件判断
在脚本中,我们需要进行语句分支,需要进行test判断实现
使用格式:
1.test[option]file
2.[ 条件语句 ] !条件语句前后有空格
常见的test选项:
比较选项:
-eq =
-ne
-gt >
-ge >=
-lt <
-le <=
判断选项:
-f 判断是否为普通文件
-d 判断是否为目录文件
-L 判断是否为连接文件
-r -w -x 判断文件是否具有 读 写 执行 权限
关联选项:
-o 或
-a 与
! 非
字符判断:
= 判断字符串是否相同
!= 不等于
-z 判断字符串是否存在
-n 和-z相反
5、逻辑运算
与 -- && 两边命令都为真,结果为真
或 -- || 俩边命令一边为真。结果为真,同时为假,结果为假
非 -- !=
这个逻辑运算符,前后对接的都是单独存在的命令
[$? -eq 0] && exit 0 || exit 1
6、算数运算
let 1+1
let a =1+1
echo $a
expr 1+1
let a =1+1
echo $a
$[$1+10]
a=$[2+3]
echo $a
$(($1/$2))
a=$((3/2))
echo $a
shell脚本基本介绍的更多相关文章
- shell脚本编程基础
最近学习了shell脚本编程,感觉自己的脚本写的不太好,所以想把shell脚本相关的知识系统的整理一下,便于以后的学习和使用. 一.shell脚本基础 shell脚本是利用shell的功能 ...
- linux100day(day5)--编程原理和shell脚本
通过前面的学习,我们对于linux文件系统有了一定的了解,我们接下来会初步接触编程原理和尝试编写shell脚本来实现功能. day05--编程原理和shell脚本初步认识 编程原理 在早期编程中,因为 ...
- Linux | Shell脚本的编写
Shell 脚本的介绍 Shell脚本通过Shell终端解释器当作人与计算机硬件之间的翻译官,用户可以通过它执行各种命令,不仅有简单的,还有复杂的,比如:判断.循环.分支等这些高级编程中才有的特性.S ...
- shell脚本编程之for语句、if语句使用介绍
介绍了shell脚本编程之for语句.if语句的使用方法. 上部: 面向过程: 顺序执行 选择执行: if, case 循环执行: for, while, until 一.for语句 格式: ...
- 详细介绍Linux shell脚本基础学习
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量
7月11日任务 20.1 shell脚本介绍20.2 shell脚本结构和执行20.3 date命令用法20.4 shell脚本中的变量 20.1 shell脚本介绍 1.shell脚本语言是linu ...
- Linux shell脚本基础学习详细介绍(完整版)二
详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...
- Linux shell脚本基础学习详细介绍(完整版)一
Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...
- shell脚本编程基础介绍
Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果 ...
- 什么是Shell?Shell脚本基础知识详细介绍
这篇文章主要介绍了什么是Shell?Shell脚本基础知识介绍,本文是一篇Shell脚本入门文章,在本文你可学到什么是Shell.有多少种Shell.一个Shell脚本代码实例,需要的朋友可以参考下 ...
随机推荐
- DSL语言思想的应用
背景 DSL语言的认知 DSL思想的应用 DSL的拓展思考 目标 业务限定 简化逻辑 提高效率 实现 业务提取 业务共性抽离 语法生成 语法实施
- cookie、session入门
一.cookie是由http制定的 二.使用方法 1.原始方法 使用request接受Cookies请求头 使用response发送set-Cookies响应头 2.常用方法 response.add ...
- wpf DataGrid cell 背景色修改参考
<DataTemplate.Triggers> <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource ...
- 一、mysql基础
说明:学习视频参考尚硅谷--康师傅 第一章.数据库概述 1.为什么使用数据库?why? 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,特别是企业级应用,数 ...
- wake on lan magic packet
局域网模式,必须电脑和手机在同一个 局域网,或者是网段内 外网模式 这个就是,你拿着手机,在任何地方,都可以开机电脑.
- K8S实现不同节点POD获取不同IP
背景介绍 某混合云场景k8s,云上和云下的node,需要将同一个域名解析到不同的IP 方案 利用Coredns+2个第三方插件,fwdpolicy,conditional 编译Coredns(在win ...
- SpringBoot配置阿里云https提示端口占用问题
1.因为要配置https,所以去网上找了一些资料,然后按照步骤,依次完成了以下步骤 ①在application.yml中加入配置 http: port: 12000 #原本的端口号server: po ...
- 裁员潮下,我月薪3W依旧坚挺
近几年来产品经理一直是求职市场中的香饽饽: 年薪20w起.没有专业限制.职业天花板高,甚至行业中一直流传着一句话:产品经理是CEO的学前班. 在各种光环的加持下,不少应届生或有转行打算的职场人都将目光 ...
- No.1.6
结构伪类选择器 根据元素在HTML中的结构关系查找元素 选择器 说明 E:first-child{} 匹配父元素中的第一个子元素,并且是E元素 E:last-child{} 匹配父元素中的最后一个子元 ...
- background-repeat属性(背景平铺)
background-repeat属性(背景平铺) 默认情况下,如果一幅背景图像不足以占满整个容器时,就会在水平方向和垂直方向重复,以填满整个容器.然而,有时候却希望背景图像只出现一次,或只在某个方向 ...