文章目录

  • 一:扩展
    • (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_testtest_3_testtest_5_testtest_7_testtest_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看世界相关推荐

  1. 透过性别看世界_透过树林看森林

    透过性别看世界 决策树如何运作 (How a Decision Tree Works) Pictorially, a decision tree is like a flow-chart where ...

  2. 混淆矩阵怎么看_201.工具篇MECE法则:透过结构看世界。

    工具篇|战略工具1之前讲过了商业.管理.个人,今天讲如何用工具来提高上述的效率工具.今天先讲一MECE法则.某公司将2020年定为品牌战略年,小王接到领导安排写作任务,要求充分阐述公司 的品牌主张.小 ...

  3. 一张图透过结构看世界--掌握结构化思维

    一张图透过结构看世界--掌握结构化思维

  4. python标准库math中用来计算平方根的函数是_2020超星尔雅网课透过性别看世界完整满分见面课答案...

    壮医药线点灸之所以能治疗厌食症是因为其具有( )的功效. 智慧职教: 下列药物中,从肾脏排泄最少的是 [A1/A2型题]葡萄胎清宫术前备用物品中哪项不需要 设循环队列的存储空间为Q(1:m),初始状态 ...

  5. 读《透过结构看世界》

    李忠秋 推荐 2 星 个人并不喜欢这本书.也不认为是一本值得推荐给朋友的书. 书的内容有些空,虽然讲的也是方法论 用方法去理解事物,去解决问题,是我关注的主题,但是所讲,我并不认同. 里面介绍的工具方 ...

  6. 结构思考力系列:透过结构看清晰思考(转载)

    原创连接:https://37wiki.37wan.com/pages/viewpage.action?pageId=42222129 [作者]:看原文链接 一.理念篇:透过结构看世界 1.透过结构看 ...

  7. [转载] Python学习笔记——运维和Shell

    参考链接: 在C / C++,Python,PHP和Java中交换两个变量 目录 什么是运维 运维第一工具-shell编程 shell历史 执行脚本 基本语法 Shell脚本语法 条件测试:test ...

  8. linux学习笔记-- linux的 shell和linux C 程序 获取命令行参数和环境变量

    常用的linux指令基本都支持命令行参数 例如 : ls -l rm -r rm -f cp -r 那么 这些参数都是如何去被应用程序获取的呢? 学习记录一下 1. shell 脚本 1.1 shel ...

  9. Linux学习系列五:Shell命令脚本的基本语法

    这个系列的Linux教程主要参考刘遄老师的<Linux就该这么学>.用的系统是RHEL8,如果遇见一些命令出现问题,请首先检查自己的系统是否一致,如果不一致,可网上查一下系统间某些命令之间 ...

最新文章

  1. linux 2.6.35 arm map_lowmem,第一次玩arm和linux,9261移植2.6.39无法挂载jiffys2文件系统,谁能指点一下...
  2. linux网卡绑定lacp,服务器网卡绑定为LACP 802.3ad,交换机是应该配置链路聚合吗?...
  3. jQuery回调函数
  4. android 原理 组合控件_Android自定义控件进阶01-自定义控件开发套路与流程
  5. JAVA自学笔记22
  6. node:jwt、拦截器-学习笔记
  7. 阿里云服务器内核编译升级
  8. 入门:HTML表单与Java 后台交互(复选框提交)
  9. 操作系统-Windows操作系统的线程调度了解这些
  10. 【图文+代码】不客气的说,这可能是你距离深入理解Java接口最近的一次
  11. oracle 手动添加分区,Oracle 分区表怎么添加分区
  12. 子母钟时钟系统工业应用
  13. 健康心理学类毕业论文文献包含哪些?
  14. 集宁一中高122班聚会筹委会正式成立
  15. 即将公布的2020年10m分辨率全球土地利用数据(欧空局出品)
  16. git clone 报错:fatal: unable to access ‘https://github.com/xxxxxxxxx/xxx.git/‘: gnutls_
  17. Latex 中如何使插图的位置不跑到开头而紧跟插入的文字后
  18. python的多任务处理
  19. Golang 本地缓存选型对比及原理总结
  20. 已知协方差矩阵求相关矩阵matlab,已知协方差矩阵求相关矩阵

热门文章

  1. docker容器cpu高问题排查_干货详解:一文教你如何利用阿里开源工具,排查线上CPU居高问题...
  2. 你不知道的BAT大数据面试题
  3. java win10 通知_如何在Java中创建Windows通知
  4. python for循环文件每一行_python – 在使用for循环读取文件时跳过一行
  5. 1.5编程基础之循环控制 34 求阶乘的和
  6. startsBBS在nginx环境下的部署,出现布局错误和验证码不能显示的解决方法
  7. python numpy和pandas数据处理_python中添加数据分析工具numpy和pandas
  8. mysql 联合主键_深入理解Mysql索引底层数据结构与算法,背后的故事
  9. Keil | 使用Register Windows测量函数的执行时间
  10. 操作系统学习之用C语言模拟伙伴(Buddy)算法