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脚本代码实例,需要的朋友可以参考下 ...
随机推荐
- Java反射解析注解
package com.jeeplus.config; import javax.validation.constraints.Size; import java.lang.annotation.An ...
- Oracle虚拟机与主机共享设置
VM中linux与主机的文件共享 1.打开 Oracle VM VirtualBox 点击 [控制] [设置] [数据空间] 添加你所希望共享的文件夹
- HIVE - HIVEQL学习笔记
Hive Learning HIVEQL和MYSQL最为接近 数据操作 SHOW TABLES IN crm_integration Show tables 'dim_con*' DESCRIBE E ...
- astrocut:切割fitsfile
from astrocut import fits_cut from astropy.io import fits from astropy.coordinates import SkyCoord i ...
- 蓝桥杯训练赛二-2021 问题 G: 坐标排序
题目描述 请将坐标x,y,z依照以下规则排序: x为第一关键字,当x相同时,依照y(第二关键字)大小来排序,当y相同时,依照z大小来排序(第三关键字) 给出了若干坐标,和一个数k,请输出按关键字排序第 ...
- CDO学习1 CDO简介
参考自如下网站 http://www.ceda.ac.uk/static/media/uploads/ncas-reading-2015/cdo.pdf 介绍 一个有几百种操作符的单独命令 CDO受N ...
- linux系统安装谷歌浏览器设置开机自动启动并打开指定页面
要在Linux系统上安装Google Chrome浏览器,可以按照以下步骤: 下载Google Chrome浏览器的安装包,你可以从Google的官方网站或者第三方下载站点上获取. 解压缩安装包并 ...
- SQL Server性能优化
源代码文件 1,什么是性能问题? 现有资源没有达到最大吞吐量的前提下,系统不能满足合理的预期表现,则可以定义为有性能问题.性能指标包括:响应时间,吞吐量,可扩展性. 2,初探优化 2.1优化论 一般遇 ...
- mysql 删除商品名字重复数据,同时保留最新一条
delete goods where goods_id in (SELECT goods_id FROM goodswhere goods_name in (select goods_name fro ...
- java的知识点
java 知识点 1.包装类自带有parse方法 Integer i = 315; int i1 = Integer.parseInt("315"); System.out.pri ...