shell脚本的简单学习
什么是shell?
shell是用户使用linux的工具,它有两种执行方式,一种是交互式解释执行,我们平时操作linux的各种命令就属于这种。另一种是批处理的方式,类似于程序性语言,有变量和参数,具有流程控制结构。
shell中的变量
我们可以在shell中定义一个变量,并赋值,正如其它语言一样。
- env #显示全局变量(系统变量)
- set #显示所有变量
- unset + 变量名 #删除一个变量。
- echo $变量 # 打印变量的值
- export 变量 # 把变量声明为全局变量(即在当前终端开一个子bash或新开终端,通过export 变量,可以让变量继续生效)
- 修改环境变量PATH: 编辑系统文件/etc/profile,将python的路径加入PATH全局变量,保存退出。
- {}声明变量的边界
shell中的运算符(( )):
- 算术运算符:+、-、*、/、%
- 赋值运算符:=、+=、*=、/=、%= 例子:
- 关系运算符:
- ==、>、>=、<、<= 例子:
- &&逻辑与、||逻辑或、!=逻辑非 例子:
- ==、>、>=、<、<= 例子:
- bc 计算器,支持浮点数运算
test测试命令:
- (()) 常用于数字之间的关系运算,但是有很大的局限性。而test命令适用于各种情况,应用更方便。
- test -n 'abc' # 测试字符串abc的长度是否为零,如果不为零,那么测试结果为真0;如果是空字符,那么为假1
- [ ] 我们习惯用两个中括号来代替test命令。注意:中括号内的首位打空格。测试字符串长度不为零,用[ ]表达
- test / [ ] 命令测试字符常用的选项:
- -n #字符串长度不为零
- -z #字符串长度为零
- = #字符串是否相等
- != #字符串不相等
- test / [ ]:-a逻辑与、-o逻辑或
- test / [ ] 测试数字常用选项:
- -eq #整数相等
- -ge #大于等于
- -le #小于等于
- -gt #大于
- -lt #小于
- -ne #不等于
- test / [ ] 测试文件类型:
- -b #判断文件是块设备
- -d #判断文件是目录
- -f #判断文件是普通文件
- -h #判断文件是普通文件
- 例子:
- 用户认证
- 判断块设备
- 判断目录
- 用户认证
shell流程控制:
- if...fi:写一个判断登录是否成功的脚本
注意:如果脚本无法执行,chmod +x 脚本 修改权限 - if...elif...else...fi 判断文件类型,多个分支条件:
while ...do...done 循环:
sleep 1 暂停1秒;第10次不满足,done结束;done下面可以跟下一条命令- 循环猜年龄:
- 判断登录用户,登录成功后执行命令:
- for循环:
- C语言风格,例子:打印乘法表
控制打印格式:-n 当前行不换行打印,echo 空 换行 - shell格式:
- 实战:测试哪些ip地址可用
每次ping会输出一长串提示信息,所以通过 &> /dev/null 把提示信息写入空文件;
ping成功了输出提示,并写入一个文档记录下来。 - 检测/dev下各种类型的文件数量
for后面跟的有结果就行,比如:
输出/test目录下的文件
另外,相对路径不能被判断文件类型的条件检测到,所以要写绝对路径。
注意:如果链接文件的判断条件在普通文件之下,那么,在if判断普通文件时,回去寻找连接文件的源文件类型,如果源文件是普通文件,那么算作普通文件,稍后之后的链接文件就不会再判断了,为0. 因为if判断过的文件不会再去重复判断。除非把链接文件的判断条件放在前面。
- C语言风格,例子:打印乘法表
shell脚本的简单学习相关推荐
- shell脚本实操学习之函数、正则表达式
shell脚本实操学习之函数.正则表达式 shell函数 函数介绍 函数语法 函数应用 正则表达式 正则表达式介绍 特殊字符 POSIX字符 shell函数 函数介绍 在写代码的时候,我们很多人习惯从 ...
- shell脚本的系统性学习笔记
shell脚本的系统性学习笔记 文章目录 shell脚本的系统性学习笔记 一.入门基础 1.1 脚本的书写格式 1.2脚本的各种执行方式 1.3数据的输入与输出 1.4输入输出重定向 1.5变量 二. ...
- Shell脚本实现简单分割字符串
这篇文章主要介绍了Shell脚本实现简单分割字符串,本文讲解使用CUT命令实现以逗号.分号或其它分隔符来切割字符串,需要的朋友可以参考下 我们有这样一个字符串: 复制代码代码如下: info='abc ...
- 详细介绍Linux shell脚本系列基础学习(列表)
本系列适合Linux初学者,属于Linux入门级教程,主要介绍了Shell的分类.语法格式以及脚本的使用和编写格式等. 不断更新中,是Shell学习的必读经典教程.现主要包含以下文章: Linux S ...
- html怎么shell脚本语言,简单shell脚本例子
为什么要使用Shell脚本 使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象.缺点是:它们的效率通常不如编译型语言.不过权衡之下,通常使用脚本编程还是值 ...
- (1)Shell 编程学习 Shell是什么?Shell的浅显原理 为什么要学Shell 及其第一个Shell脚本 CTF角度学习Shell
最近刷CTF题目的时候经常要用到Shell语言,但是自己并没有系统的学习,所以最近花了点时间学习一下,所以重新来梳理一下.对于稍微有一点编程语言基础的同学,能上手Shell其实不需要半小时(甚至更短) ...
- Shell脚本中简单脚本示例
26.1 发送消息 Shell脚本也可以向登录用户发送消息 26.1.1 功能分析 确定系统中都有谁 who命令默认给出的是可用信息的简略版本. 用户名 用户所在终端 用户登入系统的时间 ...
- shell脚本100 例(上) shell 脚本知识点,学习、进修、面试、居家旅行必备精品.--潜心研究必有所成
[SHELL 脚本 100 例] 此内容为个人学习笔记,如有雷同,纯属巧合 编写 hello world 脚本 #!/bin/bash echo "hello world" 通过位 ...
- Linux Shell脚本攻略学习总结:一
终端打印 终端打印的常用命令有两个:echo和print 首先,我先介绍echo 1.echo echo这个命令接受三种形式的参数,实例如下: echo "Hello World" ...
最新文章
- Android开发——回调(Callback)
- 如何保证RabbitMQ消息队列的高可用?
- DATA - RANGE OF
- 第二天:Swift手势操控弹性按钮
- python智慧树章节答案_Python程序设计_知到智慧树_章节答案
- zabbix agent安装_OpenSUSE RPM安装 zabbix-agent
- html下拉菜单的某个值被选定,使用JavaScript在下拉列表中获取选定的值?
- 苹果cms用php几,苹果CMS用的B站播放器
- IT规划 最容易犯的五大错误
- Android 源码编译生成framework.jar
- java打印设置_java如何设置系统默认打印机
- java LPT1,java 打印机打印跟开钱箱
- 从谷歌搜获更多~[一些谷歌搜索的提示和技巧]
- 电源学习总结(二)——线性稳压主要特点及原理
- uml中的关系-类图关系
- 360 重磅开源性能监控平台 ArgusAPM
- AD18中高速信号等长线使用
- 基于工业路由器的工业机器人远程监控系统方案应用
- 使用微波雷达传感器都有那些优势呢?
- Autonomous bubble pattern | 雷达哔哔哔