Shell脚本学习指南 - 第二章入门篇
shell脚本的第一行#!
#! /bin/awk -f
内核会扫描文件开头的#!后面内容,跳过所有空白符号,寻求可以用来执行程序的解释器的full path和option(option后面的空格会识别)
; shell用分号隔开多条语句
& 后台执行该命令,不会pend下一条指令的运行
PATH变量
path一般在可执行文件bin(binary)下面
针对你自己的脚本,最好创建bin目录来存放,然后把bin的路径加到$path中
冒号的位置决定了如何查找当前目录,但不建议查找当前目录,会有一些安全问题(在后面说)
变量
变量赋值,=左右没有空格
赋值内容有空格,用“”
取变量,$
echo输出语法规则
也可以用printf
重定向与管道
< 改变标准输入
">"改变标准输出
“>>” 附加到文件后面
|串联管道pipeline
tr标准输入文本处理
大小写转换,删除重复,删除指定字符
/dev/null
是一个特殊的设备文件,这个文件接收到任何数据都会被丢弃,俗称“黑洞”
0 是标准输入,一般是从键盘获得输入
1 是标准输出,一般是输出到屏幕了
2 是标准错误,有时候屏幕上可以看到,但是重定向的文件中看不到的就是它了
2>/dev/null意思就是把错误输出到“黑洞” ,也就是说如果你的命令出错的话,错误报告直接就删除了。不会显示在屏幕上
/dev/tty
对应的当前的这个控制终端的别名。该文件对于读取人工输入时(例如密码)特别有用。
set -x语句执行跟踪
+code提示当前运行的code
Shell脚本学习指南 - 第二章入门篇相关推荐
- Shell脚本学习指南-查找与替换篇
一.查找与替换 编写 Shell脚本时经常用到的两个基本操作: 1.文本查找 (searching) - 寻找含有特定文本的行 2.文本替换(substitution)- 更换找到的文本 可以使用固定 ...
- .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了
本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core.既 ...
- Shell脚本学习指南(六)——输入/输出、文件与命令执行
文章目录 前言 标准输入.标准输出与标准错误输出 使用read读取行 关于重定向 额外的重定向运算符 文件描述符处理 printf的完整介绍 波浪号展开与通配符 波浪号展开 使用通配符 命令替换 为h ...
- Shell脚本学习指南(三)——文本处理工具
文章目录 排序文本 行的排序 以字段的排序 文本块排序 sort的效率 sort的稳定性 sort小结 删除重复 重新格式化段落 计算行数.字数以及字符数 打印 打印技术的演化 其他打印软件 提取开头 ...
- Shell脚本学习指南(七)——产生脚本
文章目录 前言 路径查找 软件构建自动化 前言 本篇,我们将进一步处理更复杂的工作.我们认为这里举出的例子都是一般用得到的工具,它们每一个都截然不同,且在大多数UNIX工具集里也没有. 在篇中的程序, ...
- linux shell脚本学习指南,shell脚本学习指南[二](Arnold Robbins Nelson H.F. Beebe著)
该进入第四章了,刚才看到一个帖子标题:我空有一身泡妞的好本领,但可惜自己是个妞.汗-这个...音乐无国界嘛,这个不应该也没性别界么? 第四章文本处理工具 书中先说明了以下排序的规则,数值的就不用说了, ...
- Shell脚本学习指南(二)——查找与替换
文章目录 前言 查找文本 简单的grep 正则表达式 什么是正则表达式 POSIX方括号表达式 基本正则表达式 匹配单个字符 后向引用 单个表达式匹配多字符 文本匹配锚点 BRE运算符优先级 匹配单个 ...
- Shell脚本学习指南(五)——变量、判断、重复动作
文章目录 前言 变量与算术 变量赋值与环境 参数展开 展开运算符 位置参数 特殊变量 算术展开 退出状态 退出状态值 if-else-else-fi语句 逻辑的NOT.AND与OR test命令 ca ...
- 《Shell脚本学习指南》读书笔记
P30-31 软件工具的原则 1.一次做好一件事 2.处理文本行,不要处理二进制数据 3.使用正则表达式 4.默认使用标准输入/输出 5.避免喋喋不休 6.输出格式必须与可接受的输入格式一致 7.让工 ...
最新文章
- Maven添加本地Jar包方案1
- 10.30 linux和windows互传文件,用户配置文件和密码配置文件,用户组管理,用户管理...
- IOS sqlite数据库增删改查
- IOS开发之——颜色设置
- 后端根据百度地图真实路径距离_远场语音识别错误率降低30%,百度提基于复数CNN网络的新技术...
- oracle 高水位线回收,回收高水位线
- c++程序设计_基于proteus的51单片机开发实例30-模块化程序设计
- kafka 初步学习
- php 类定义抽象方法吗,如何理解php的抽象类跟抽象方法
- ASP.NET Core 中文文档 第二章 指南(4.10)检查自动生成的Detail方法和Delete方法
- Android 性能优化之TraceView的使用
- 【codevs1907】【方格取数3】二分图最大带权独立集
- 手机号码归属地查询接口大全
- JDBC学习(五、预编译语句对象)
- shell实现txt转换excel
- 基于SSM+SpringBoot+Vue的高校竞赛赛事管理系统
- 嵌入式实验 之 DMA控制器实验
- Ubuntu 16.04 笔记本双显卡安装 CUDA9.0
- 专业录音:Audio Hijack for Mac
- java 蓝牙打印_Android蓝牙打印机,带你真正了解各种打印格式
热门文章
- 深沪货币基金逻辑简单总结
- 计算机控制系统的发展概况,过程控制系统设计概述和过程控制的发展概况
- Ubuntu Kylin中编译运行cgminer挖矿软件
- 直驱永磁风机simulink仿真模型,内含网侧和机侧控制,低电压穿越控制(chopper电路控制),风速模拟,MPPT
- 京东获得店铺的所有商品 API
- 现在使用计算机字长是多少位,现在使用的计算机字长都是32位
- wifidog java_GitHub - FangStarNet/wifidog-java-portal: 由 Java 实现的 WiFiDog 认证服务
- 中兴B863AV3.1-M2_卡刷固件_萌虎开机动画
- open-falcon 修改配置文件
- linux服务器风扇功率调整