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脚本学习指南 - 第二章入门篇相关推荐

  1. Shell脚本学习指南-查找与替换篇

    一.查找与替换 编写 Shell脚本时经常用到的两个基本操作: 1.文本查找 (searching) - 寻找含有特定文本的行 2.文本替换(substitution)- 更换找到的文本 可以使用固定 ...

  2. .NET Core实战项目之CMS 第二章 入门篇-快速入门ASP.NET Core看这篇就够了

    本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core.既 ...

  3. Shell脚本学习指南(六)——输入/输出、文件与命令执行

    文章目录 前言 标准输入.标准输出与标准错误输出 使用read读取行 关于重定向 额外的重定向运算符 文件描述符处理 printf的完整介绍 波浪号展开与通配符 波浪号展开 使用通配符 命令替换 为h ...

  4. Shell脚本学习指南(三)——文本处理工具

    文章目录 排序文本 行的排序 以字段的排序 文本块排序 sort的效率 sort的稳定性 sort小结 删除重复 重新格式化段落 计算行数.字数以及字符数 打印 打印技术的演化 其他打印软件 提取开头 ...

  5. Shell脚本学习指南(七)——产生脚本

    文章目录 前言 路径查找 软件构建自动化 前言 本篇,我们将进一步处理更复杂的工作.我们认为这里举出的例子都是一般用得到的工具,它们每一个都截然不同,且在大多数UNIX工具集里也没有. 在篇中的程序, ...

  6. linux shell脚本学习指南,shell脚本学习指南[二](Arnold Robbins Nelson H.F. Beebe著)

    该进入第四章了,刚才看到一个帖子标题:我空有一身泡妞的好本领,但可惜自己是个妞.汗-这个...音乐无国界嘛,这个不应该也没性别界么? 第四章文本处理工具 书中先说明了以下排序的规则,数值的就不用说了, ...

  7. Shell脚本学习指南(二)——查找与替换

    文章目录 前言 查找文本 简单的grep 正则表达式 什么是正则表达式 POSIX方括号表达式 基本正则表达式 匹配单个字符 后向引用 单个表达式匹配多字符 文本匹配锚点 BRE运算符优先级 匹配单个 ...

  8. Shell脚本学习指南(五)——变量、判断、重复动作

    文章目录 前言 变量与算术 变量赋值与环境 参数展开 展开运算符 位置参数 特殊变量 算术展开 退出状态 退出状态值 if-else-else-fi语句 逻辑的NOT.AND与OR test命令 ca ...

  9. 《Shell脚本学习指南》读书笔记

    P30-31 软件工具的原则 1.一次做好一件事 2.处理文本行,不要处理二进制数据 3.使用正则表达式 4.默认使用标准输入/输出 5.避免喋喋不休 6.输出格式必须与可接受的输入格式一致 7.让工 ...

最新文章

  1. Maven添加本地Jar包方案1
  2. 10.30 linux和windows互传文件,用户配置文件和密码配置文件,用户组管理,用户管理...
  3. IOS sqlite数据库增删改查
  4. IOS开发之——颜色设置
  5. 后端根据百度地图真实路径距离_远场语音识别错误率降低30%,百度提基于复数CNN网络的新技术...
  6. oracle 高水位线回收,回收高水位线
  7. c++程序设计_基于proteus的51单片机开发实例30-模块化程序设计
  8. kafka 初步学习
  9. php 类定义抽象方法吗,如何理解php的抽象类跟抽象方法
  10. ASP.NET Core 中文文档 第二章 指南(4.10)检查自动生成的Detail方法和Delete方法
  11. Android 性能优化之TraceView的使用
  12. 【codevs1907】【方格取数3】二分图最大带权独立集
  13. 手机号码归属地查询接口大全
  14. JDBC学习(五、预编译语句对象)
  15. shell实现txt转换excel
  16. 基于SSM+SpringBoot+Vue的高校竞赛赛事管理系统
  17. 嵌入式实验 之 DMA控制器实验
  18. Ubuntu 16.04 笔记本双显卡安装 CUDA9.0
  19. 专业录音:Audio Hijack for Mac
  20. java 蓝牙打印_Android蓝牙打印机,带你真正了解各种打印格式

热门文章

  1. 深沪货币基金逻辑简单总结
  2. 计算机控制系统的发展概况,过程控制系统设计概述和过程控制的发展概况
  3. Ubuntu Kylin中编译运行cgminer挖矿软件
  4. 直驱永磁风机simulink仿真模型,内含网侧和机侧控制,低电压穿越控制(chopper电路控制),风速模拟,MPPT
  5. 京东获得店铺的所有商品 API
  6. 现在使用计算机字长是多少位,现在使用的计算机字长都是32位
  7. wifidog java_GitHub - FangStarNet/wifidog-java-portal: 由 Java 实现的 WiFiDog 认证服务
  8. 中兴B863AV3.1-M2_卡刷固件_萌虎开机动画
  9. open-falcon 修改配置文件
  10. linux服务器风扇功率调整