Shell:Day03笔记
1、编程结束
驱动 硬件默认是不能使用的
CPU控制硬件
不同的厂家硬件设备之间需要进行指令沟通,就需要驱动程序来进行“翻译”
编程语言的分类:
高级语言、超高级语言需要翻译成计算机刻度的语言(二进制指令)
解释型--逐行翻译,逐行执行 shell
bash -x filename.sh逐行执行
编译型--一次编译,全部执行
程序 = 指令 + 数据
面向对象--侧重于数据的编程语言
面向过程--侧重于指令
编程语言的执行方式:
1、顺序执行
第一句
2、循环执行--for(遍历) while(循环条件) until(和while相反)
3、选择执行--分支 if case
优点:调用os(操作系统)的命令行,来实现所有功能
缺点:没有库调用(区分python)
shell脚本包括:1、命令 2、变量(全局变量、本地变量、传参) 3、逻辑关系
shell的第一句话(必须写)
#!/bin/bash--定义脚本解释器
#!/usr/bin/python
/etc/shells--查看当前系统支持的shell程序
echo $SHELL --查看当前会话的shell程序
/etc/passwd--制定了用户默认支持的shell程序(/sbin/nologin)
shell的执行:
1、bash 命令来执行脚本
-n 查看shell脚本的逻辑错误(注意:单词写错可不管)
-x 逐行显示执行的脚本程序(方便排错)
2、授权chmod +x filename.sh
使用全路径执行脚本,即可
环境变量
局部变量 declare命令--定义变量类型
本地变量 local在函数中的使用
变量类型:
数值型:
1.整型 int
2.浮点型 float
3.布尔值 0 1(真假)(True False)
字符串:
1.普通字符及字符串
2.数组
强类型语言 -- 数值必须被定义,才能进行处理或运算
弱类型语言 -- 编程语言可以自动识别变量类型
【多态 一个数据具有多个属性,而最后使用的属性取决于和它进行运算的数据】
传参
$?--上一条命令的执行状态 0正确 1-255错误
$1
$2
...
${10} $1-${10}--命令后面传入脚本的数据,一空格为分隔符
$#-- 统计传参数量 ${$#}
$*-- 表示所有的传参,所有的传参以字符串的形式进行输出
$@-- 表示所有的传参,将所有的传参以列表的形式进行输出
定义变量格式:
NAME=VALUE
通过命令declare定义变量类型
declare -i a=10 整数 int() str()
declare -a 数组
变量命令:
1.下划线的方式指定变量名称
2.驼峰命名方式
4、test文件测试、条件判断
在脚本中,我们需要进行语句分支;说白了,就是要做判断
判断就是使用test命令来实现;
使用格式:
1、test[option] file
2、[条件语句]
【什么时候加[ ]什么时候不加[ ]?】
常见的test选项:
比较选项:
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
判断选项:
-f是否为普通文件
-e文件是否存在
-d是否目录文件
-L是否链接文件
-r -w -x 判断文件是否具有读 写 执行 权限
关联选项:
-o或
-a与
! 非
5、逻辑运算
与 && 两边的命令,都为真,结果才是真
或 || 两边的命令,一边为真,就是真,同时为假,才是假
非 != 同上
* let 1+1
let a = 1 + 1
echo $a
expr 1*1
expr 1 * 10
*$[ $1 + 10 ]
a = $[2+3]
echo $a
$(($1/$2))
a=$(2+3)
echo $a
+ - * / %
Shell:Day03笔记的更多相关文章
- Learning The Bash Shell读书笔记(整理)
最近搞了一本书 Learning Bash Shell,发现有人已经写了阅读笔记,我就在这边整理一下 来自blog:http://blog.sina.com.cn/n4mine Learning Th ...
- SHELL学习笔记----IF条件判断,判断条件
SHELL学习笔记----IF条件判断,判断条件 前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here ...
- Shell编程笔记
Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理. 修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ...
- shell学习笔记
shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...
- 菜鸟教程之学习Shell script笔记(上)
菜鸟教程之学习Shell script笔记 以下内容是,学习菜鸟shell教程整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.ht ...
- python day03笔记总结
2019.3.29 S21 day03笔记总结 昨日回顾及补充 1.运算符补充 in not in 2.优先级 运算符与运算符之间也有优先级之分 今日内容 一.整型(int) py2 与 py3 的区 ...
- [转帖][Bash Shell] Shell学习笔记
[Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html 阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...
- shell学习笔记汇总
1.shell脚本中函数使用 函数定义在前,调用在后,顺序反了就没有效果了.函数调用为:函数名 参数列表 函数内部通过以下变量访问函数的参数:shell脚本函数中: $0: 这个脚本的名字 $n: 这 ...
- shell 学习笔记2-shell-test
一.字符串测试表达式 前面一篇介绍:什么是shell,shell变量请参考: shell 学习笔记1-什么是shell,shell变量 1.字符串测试表达式参数 字符串需要用""引 ...
随机推荐
- R|tableone 快速绘制文章“表一”-基线特征三线表
首发于“生信补给站” :https://mp.weixin.qq.com/s/LJfgxbTqsp8egnQxEI0nJg 生物医学或其他研究论文中的“表一”多为基线特征的描述性统计.使用R单独进行统 ...
- RPA如何跑赢传统自动化和人工?
过去的4年时间里,RPA(机器人流程自动化)一词,在Gartner的搜索引擎中一直排名前五.去年Gartner发表的调查数据中显示,RPA行业在2018年保持了60%以上的增长速度,从而成为全球增长最 ...
- js 图片实现无缝滚动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Linux系统之LNMP及nginx反向代理实现
1.编译安装LNMP,并安装wordpress 首先准备环境,编译安装LNMP可以是多台主机,也可以是单台主机,把nginx,mysql,php都集中安装在一个主机上:我这里以一台主机为例吧!! 一. ...
- 干货来啦。Flask框架看这一篇就够了,关注不迷路,Jeff带你看源码。开发技术时时更新
目录 一.初识Flask 1.1 什么是flask? 1.2 为什么要有flask? 二.Flask快速启动 三.Flask四剑客 三.flask的配置文件 可以配置的属性 四.flask路由 4.1 ...
- H5解决安卓软键盘弹出遮蔽的方法
首先先判断是否为安卓,是的话才添加事件监听,获取焦点元素判断是否为input或者textarea类型,是的话,Element.scrollIntoView() 方法会让当前的元素滚动到浏览器窗口的可视 ...
- git命令,github网站以及sourceTree用法详解
1.git下载安装 这里只是windows安装方法: 进入这个网址:http://msysgit.github.com/,点击下载,就会下载下来一个exe文件,双击打开,安装即可 完成安装之后,就可以 ...
- Python3 + requests + unittest接口测试
一.缘 起 笔者最近完成了基于Python3 + requests + unittest的接口测试脚本,故在此做一下记录,于己为复盘,于彼为学习和参考 二.思 路 接口测试无非三步: 首先,造数据 - ...
- [ICRA 2019]Multi-Task Template Matching for Object Detection, Segmentation and Pose Estimation Using Depth Images
简介 本文作者提出新的框架(MTTM),使用模板匹配来完成多个任务,从深度图的模板上找到目标物体,通过比较模板特征图与场景特征图来预测分割mask和模板与检测物体之间的位姿变换.作者提 ...
- ElasticSearch 32766 的限制
插入一个稍大的数据到elasticsearch的时候,突然报错“ 400 - elastic: Error 400 (Bad Request): Document contains at least ...