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

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

一:扩展

Bash在执行命令前对文本进行多重处理的特性非常强大。以
echo *.txt为例,Bash会将当前目录下所有以
.txt结尾的文件名扩展显示出来。这种扩展机制可以灵活运用,满足多种实际需求。

(1)路径名扩展

路径名扩展是实现Bash功能强大的关键。例如,
ls /*.txt可以显示当前目录下所有以
.txt结尾的文件,而
ls /usr/share则会展示usr目录下的所有子目录。

(2)波浪线扩展

波浪线扩展是Bash的另一个重要功能。例如,
cd ~可以直接跳转到用户主目录,而
echo $HOME则会显示用户的主目录路径。

(3)算数扩展

Bash也支持基本的算数运算。可以通过
$((expression))来执行算数表达式。例如,
echo $(($a + $b))可以显示两个变量的和。

(4)花括号扩展

花括号扩展是Bash中非常实用的功能。它可以用于生成一系列有规律的文件名或数字。例如,
mkdir {1,2,3}.test可以创建三个名为
1.test
2.test
3.test的文件夹。

(5)参数扩展

参数扩展可以用来访问环境变量。例如,
echo $PATH会显示当前用户的路径环境变量。这种功能在配置开发环境时非常有用。

二:引用

在使用Bash时,参数扩展可能会带来一些问题。例如,
I have $5.00会因为环境变量不存在而显示为
I have .00。为了解决这些问题,Bash提供了引用机制。

(1)双引号

双引号可以用来防止参数扩展。例如,
"Hello World.txt"会被解释为一个单一的文件名,而不会因为空格而分割成多个参数。这种方法适用于处理包含空格的文件名。

(2)单引号

单引号可以完全禁止所有扩展。例如,
'Hello World.txt'会被解释为一个单一的文件名,且不会进行参数扩展或算数计算。

(3)转义字符

Bash支持多种转义字符,这些字符可以用来表示特殊含义。例如,
\*表示不匹配任意字符,而
\~表示用户主目录。

通过合理运用这些扩展功能,Bash可以大大提高命令行的效率和灵活性。

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

你可能感兴趣的文章
OpenCV与AI深度学习 | 基于YOLOv8的停车对齐检测
查看>>
OpenCV与AI深度学习 | 基于YoloV8的药丸/片剂类型识别
查看>>
OpenCV与AI深度学习 | 基于YOLO和EasyOCR从视频中识别车牌
查看>>
OpenCV与AI深度学习 | 基于图像处理的火焰检测算法(颜色+边缘)
查看>>
OpenCV与AI深度学习 | 基于拉普拉斯金字塔实现图像融合(步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 基于机器视觉的磁瓦表面缺陷检测方案
查看>>
OpenCV与AI深度学习 | 基于深度学习的轮胎缺陷检测系统
查看>>
OpenCV与AI深度学习 | 如何使用YOLO-World做目标检测
查看>>
OpenCV与AI深度学习 | 如何使用YOLOv9分割图像中的对象
查看>>
OpenCV与AI深度学习 | 如何使用YOLOv9检测图片和视频中的目标
查看>>
OpenCV与AI深度学习 | 如何在 Docker 容器中使用 GPU
查看>>
OpenCV与AI深度学习 | 实战 | OpenCV中更稳更快的找圆方法--EdgeDrawing使用演示(详细步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | OpenCV传统方法实现密集圆形分割与计数(详细步骤 + 代码)
查看>>
OpenCV与AI深度学习 | 实战 | OpenCV实现扫描文本矫正应用与实现详解(附源码)
查看>>
OpenCV与AI深度学习 | 实战 | 使用OpenCV和Streamlit搭建虚拟化妆应用程序(附源码)
查看>>
OpenCV与AI深度学习 | 实战 | 使用OpenCV确定对象的方向(附源码)
查看>>
OpenCV与AI深度学习 | 实战 | 使用YOLOv8 Pose实现瑜伽姿势识别
查看>>
OpenCV与AI深度学习 | 实战 | 使用YoloV8实例分割识别猪的姿态(含数据集)
查看>>
OpenCV与AI深度学习 | 实战 | 使用姿态估计算法构建简单的健身训练辅助应用程序
查看>>
OpenCV与AI深度学习 | 实战 | 基于OpenCV和K-Means聚类实现颜色分割(步骤 + 代码)
查看>>