博客
关于我
1-7:学习shell之透过shell看世界
阅读量:189 次
发布时间:2019-02-28

本文共 1245 字,大约阅读时间需要 4 分钟。

文章目录

一:扩展

其实每次你按下回车键时,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)转义字符

我相信在这里,转义字符就不需要我多说了吧,能看这种类型文章人,还会不知道转义字符的作用吗

在这里插入图片描述

转载地址:http://ecsi.baihongyu.com/

你可能感兴趣的文章
Node-RED中使用node-random节点来实现随机数在折线图中显示
查看>>
Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
查看>>
Node-RED中使用node-red-contrib-image-output节点实现图片预览
查看>>
Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
查看>>
Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
查看>>
Node-RED中使用range范围节点实现从一个范围对应至另一个范围
查看>>
Node-RED中实现HTML表单提交和获取提交的内容
查看>>
Vue3+elementplus实现图片上传下载(最强实践)
查看>>
Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
查看>>
Node-RED中建立TCP服务端和客户端
查看>>
Node-RED中建立Websocket客户端连接
查看>>
Node-RED中建立静态网页和动态网页内容
查看>>
Vue3+Element-ul学生管理系统(第二十二课)
查看>>
Node-RED中怎样让网站返回JSON数据
查看>>
Node-RED中根据HTML文件建立Web网站
查看>>
Node-RED中解析高德地图天气api的json数据显示天气仪表盘
查看>>
Node-RED中连接Mysql数据库并实现增删改查的操作
查看>>
Node-RED中通过node-red-ui-webcam节点实现访问摄像头并截取照片预览
查看>>
Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件
查看>>
Node-RED安装图形化节点dashboard实现订阅mqtt主题并在仪表盘中显示温度
查看>>