1-7:学习shell之透过shell看世界
文章目录
- 一:扩展
- (1)路径名扩展
- (2)波浪线扩展
- (3)算数扩展
- (4)花括号扩展
- (5)参数扩展
- 二:引用
- (1)双引号
- (2)单引号
- (3)转义字符
一:扩展
其实每次你按下回车键时,bahs都会在执行命令前对文本进行多重的处理。举个简单的例子,*
作为通配符的意思匹配任意多个字符,那么当命令行中有通配符*
时,在执行命令之前,bash会把*
进行扩展
echo命令用于显示文本,也就是将文本参数内容打印到标准输出,如下echo ls
那么echo *.txt
,就会把当前目录下所有以.txt
结尾的文件名显示出来
(1)路径名扩展
像刚才这种echo *.txt,使用通配符实现扩展的机制称为路径名扩展,这种功能非常灵活,可以配合通配符实现很多需求
比如找出当前目录下所有以大写字母开头的文件或文件夹
查看usr目录下,众多目录里含有share目录的路径
(2)波浪线扩展
其实这个大家也都知道,cd ~
是回到用户目录,而echo ~
是显示用户目录
(3)算数扩展
shell可以当作计算器使用。使用算数扩展要尊崇这样的格式:$((expression))
算数扩展支持的算数运算符如下
这里算数扩展仅了解,更多要在后续介绍
(4)花括号扩展
用过花括号扩展的人不得不说它的强大
使用花括号扩展时,花括号内的以逗号分隔的字符会进行分别处理
比如说我要一次性创建5个文件夹分别为test_1_test
,test_3_test
,test_5_test
,test_7_test
,test_9_test
,一个一个创建太过麻烦,所以可以使用花括号扩展
还有更神奇的用法,如果花括号中左右两边中间是..
,那么他就会按照左右两边的规律进行处理
比如说创建26个文件夹,文件夹名字分别是26个大写字母
还比如生成1-10000的一万个数,则可写作echo {1..10000} > test.txt
(5)参数扩展
其实参数扩展,我在另外一篇文章中就讲到过了,就是如何显示环境变量,使用到的就是ech $PATH
二:引用
第一部分我们讲了,$命令作为扩展的关键字,对命令进行扩展,但是有时会产生一些问题,比如说下图我的目的是在屏幕上显示 I have $5.00
,但是$遇见了5,于是开始了参数扩展,但是没有这样类型的环境变量,所以它被替换为了空字符串,于是输出了I have .00
所以为了解决这样的问题,shell提供了引用
(1)双引号
双引号是第一种引用,主要用来处理空格问题,只要文本在双引号之中,Linux中除了$,/外,其余特殊符号将失去意义,也就是说除了参数扩展,算数扩展外其他扩展将失效。
空格在命令行中具有很特殊的意义,空格空开的两个字符很可能被当做为两个参数。如果必须要创建一个名字叫做Hello World.txt
的文件夹,要是按照之前的方式创建,就会创建出两个文件夹
如果把文件夹名字放在双引号之内,将会忽略掉空格
但是注意双引号对参数扩展和算数扩展无效
(2)单引号
如果要使得所有扩展都不生效,那么就是用单引号
(3)转义字符
我相信在这里,转义字符就不需要我多说了吧,能看这种类型文章人,还会不知道转义字符的作用吗
1-7:学习shell之透过shell看世界相关推荐
- 透过性别看世界_透过树林看森林
透过性别看世界 决策树如何运作 (How a Decision Tree Works) Pictorially, a decision tree is like a flow-chart where ...
- 混淆矩阵怎么看_201.工具篇MECE法则:透过结构看世界。
工具篇|战略工具1之前讲过了商业.管理.个人,今天讲如何用工具来提高上述的效率工具.今天先讲一MECE法则.某公司将2020年定为品牌战略年,小王接到领导安排写作任务,要求充分阐述公司 的品牌主张.小 ...
- 一张图透过结构看世界--掌握结构化思维
一张图透过结构看世界--掌握结构化思维
- python标准库math中用来计算平方根的函数是_2020超星尔雅网课透过性别看世界完整满分见面课答案...
壮医药线点灸之所以能治疗厌食症是因为其具有( )的功效. 智慧职教: 下列药物中,从肾脏排泄最少的是 [A1/A2型题]葡萄胎清宫术前备用物品中哪项不需要 设循环队列的存储空间为Q(1:m),初始状态 ...
- 读《透过结构看世界》
李忠秋 推荐 2 星 个人并不喜欢这本书.也不认为是一本值得推荐给朋友的书. 书的内容有些空,虽然讲的也是方法论 用方法去理解事物,去解决问题,是我关注的主题,但是所讲,我并不认同. 里面介绍的工具方 ...
- 结构思考力系列:透过结构看清晰思考(转载)
原创连接:https://37wiki.37wan.com/pages/viewpage.action?pageId=42222129 [作者]:看原文链接 一.理念篇:透过结构看世界 1.透过结构看 ...
- [转载] Python学习笔记——运维和Shell
参考链接: 在C / C++,Python,PHP和Java中交换两个变量 目录 什么是运维 运维第一工具-shell编程 shell历史 执行脚本 基本语法 Shell脚本语法 条件测试:test ...
- linux学习笔记-- linux的 shell和linux C 程序 获取命令行参数和环境变量
常用的linux指令基本都支持命令行参数 例如 : ls -l rm -r rm -f cp -r 那么 这些参数都是如何去被应用程序获取的呢? 学习记录一下 1. shell 脚本 1.1 shel ...
- Linux学习系列五:Shell命令脚本的基本语法
这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...
最新文章
- linux 2.6.35 arm map_lowmem,第一次玩arm和linux,9261移植2.6.39无法挂载jiffys2文件系统,谁能指点一下...
- linux网卡绑定lacp,服务器网卡绑定为LACP 802.3ad,交换机是应该配置链路聚合吗?...
- jQuery回调函数
- android 原理 组合控件_Android自定义控件进阶01-自定义控件开发套路与流程
- JAVA自学笔记22
- node:jwt、拦截器-学习笔记
- 阿里云服务器内核编译升级
- 入门:HTML表单与Java 后台交互(复选框提交)
- 操作系统-Windows操作系统的线程调度了解这些
- 【图文+代码】不客气的说,这可能是你距离深入理解Java接口最近的一次
- oracle 手动添加分区,Oracle 分区表怎么添加分区
- 子母钟时钟系统工业应用
- 健康心理学类毕业论文文献包含哪些?
- 集宁一中高122班聚会筹委会正式成立
- 即将公布的2020年10m分辨率全球土地利用数据(欧空局出品)
- git clone 报错:fatal: unable to access ‘https://github.com/xxxxxxxxx/xxx.git/‘: gnutls_
- Latex 中如何使插图的位置不跑到开头而紧跟插入的文字后
- python的多任务处理
- Golang 本地缓存选型对比及原理总结
- 已知协方差矩阵求相关矩阵matlab,已知协方差矩阵求相关矩阵
热门文章
- docker容器cpu高问题排查_干货详解:一文教你如何利用阿里开源工具,排查线上CPU居高问题...
- 你不知道的BAT大数据面试题
- java win10 通知_如何在Java中创建Windows通知
- python for循环文件每一行_python – 在使用for循环读取文件时跳过一行
- 1.5编程基础之循环控制 34 求阶乘的和
- startsBBS在nginx环境下的部署,出现布局错误和验证码不能显示的解决方法
- python numpy和pandas数据处理_python中添加数据分析工具numpy和pandas
- mysql 联合主键_深入理解Mysql索引底层数据结构与算法,背后的故事
- Keil | 使用Register Windows测量函数的执行时间
- 操作系统学习之用C语言模拟伙伴(Buddy)算法