bash引用

关闭bash字符的特殊含义,叫引用

  • 反斜杠

含特殊意义的字符



用户的主目录


`


命令替换


#


注释


$


变量引用


&


把任务放到后台执行


*


通配符,代表任意个任意字符



通配符,代表一个任意字符


()


在子Shell中执行


\


引用后面的一个字符


|


管道


[]


指定一个字符集的通配符


{}


创建一个命令块


;


命令分隔符


‘‘


单引号引用字符


""


双引号引用字符


>


标准输出重定向


<


标准输入重定向

拓展是执行命令时Shell进行的。如果反斜杠后的字符没有特殊含义,shell也不会把反斜杠传给命令

单引号

单引号会使所有特殊字符失去特殊含义,高脱特殊,居家旅行必备。

不需要把整个字符串引起来,只要引起特殊字符就行。

如果单引号内需要单引号,答案是无解的。只能用反斜杠或双引号,你TM是在逗我

事实告诉我们要灵活,反斜杠、单引号、双引号一块上。

双引号

为什么存在双引号,因为程序员总是懒惰的,程序员希望在引用大多数特殊字符的同时,保留变量或命令替换。我们希望保留$,`,和 \的含义。为什么\的特殊含义保留,因为有特殊字符,就有反斜杠 \。实践证明,只有后面字符为 ",`,$,或\,时 \才有特殊含义。功夫不稳定的。

当希望把含有空格的字符串当作一个整体时,用双引号吧。

双引号里是可以用双引号的。

逃逸序列

有些命令会接受反斜杠加一个普通字符构成的逃逸序列。逃逸序列表达了某种特殊的含义,它并不是引用。

在Shell命令中还要对逃逸序列的反斜杠进行转义,所以会出现这样的东西:

echo
-n -e hi,\\nhow are you?\\n

-e选项表示echo接受逃逸序列。

时间: 2025-01-03 21:37:43

bash引用的相关文章

shell脚本复习

最近公司工作量很小,就复习复习,看起了马哥的视频,感觉马哥讲课讲得特别细.这才是深入到系统的讲解,补充了很多我之前只是了解到皮毛的东西. shell编程:弱类型编程语言 强:变量在使用前,必须事先声明,甚至还需要初始化 NULL: 弱:变量用时声明,甚至不区分类型: 变量赋值:VAR_NAME=VALUE 编译器,解释器 编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量) 关键字: 事先转换成可执行格式 C.  C++.JAVA.C# 动态语言:解释型语言 on the

linux 特殊shell变量

特殊变量 环境变量: 系统本身运行需要由linux系统提前创建好的一类变量 主要用于用户的工作环境,包括(用户的宿主目录,命令的查找路径,用户的当前目录,登录的终端等)环境变量的值由操作系统本身维护,随着用户的状态改变而改变 使用env调取当前系统的环境变量 [[email protected] ~]# env XDG_VTNR=1 XDG_SESSION_ID=1 SSH_AGENT_PID=1925 HOSTNAME=zq 主机名 IMSETTINGS_INTEGRATE_DESKTOP=y

Linux Basics

计算机体系结构: 运算器 控制器 存储器,内存,编址 输出设备 输入设备 POST:BIOS 自举 程序:指令+数据 RAM: ROM: 硬件架构: ARM x86 x64 安腾 alpha UltraSparc Power M68000, M68K PowerPC OS: Windows Linux Unix HP-UX Solaris AIX SCO UNIX Unixware OS/2 内核功能: 进程管理 内存管理 文件系统 网络功能 硬件驱动 安全机制 批处理系统 jobs1$$$$$

SHELL脚本编程进阶(二)

写在前面(最重要) 本文部分资料和示例援引自以下书籍.在此,感谢原作者的创作,以及所有译者的付出,向他们致敬. Advanced Bash-Scripting Guide <高级Bash脚本编程指南>Revision 10中文版 Linux脚本编程执导 其中 <高级Bash脚本编程指南>Revision 10中文版 是 <Advanced Bash-Scripting Guide> 的中文翻译版,文档翻译正在进行中,再次感谢译者付出. 前言 在之前的文章 Linux 基

sed 笔记

sed 笔记介绍sed是非交互式的编辑器.它不会修改文件,除非使用shell重定向来保存结果.默认情况下,所有的输出行都被打印到屏幕上.sed编辑器逐行处理文件(或输入),并将结果发送到屏幕.具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上.sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示.处理完输入文件的最后一行后,sed便结束运行.sed把每一行都存在临时缓冲区中,对这个副本进行编

shell之基础概念与变量类型

静态语言:编译型语言 事先转换成可执行格式 强类型(变量) 关键字: C C++ JAVA C# 动态语言:解释型语言 on the fly 弱类型 边解释边执行 Asp.net shell PHP Python perl 面向过程 面向对象 变量:内存空间,命名 变量类型:事先确定数据的存储格式和长度 字符 数值 整型 浮点型:11,23 整型:8bit 256 0-255 溢出-->缓冲区溢出 逻辑: 布尔类型:0,1 逻辑运算:与,或,非,异或 1:真 0:假 1&0=0 0&

shell脚本应用

shell脚本应用 理论部分: 随着企业的应用越来越多,服务器的自动化管理也是越来越重要,在linux中提供了一个非常强大的功能,这种功能名字为shell脚本,什么是shell脚本. 我们都知道我们所输入的命令计算机是不识别的,这时就需要一种程序帮助我们进行翻译,变成计算机所识别的二进制程序,同时又将计算机所执行的结果翻译给我们linux的shell脚本是一种特殊的应用程序,常见的shell解释器有很多种使用不同的shell时期内部指令命令提示方式方面会存在一些区别,可以通过/etc/shell

shell脚本的基础1

shell脚本的基础 1.shell 脚本的编写规范 2 变量与特殊变量应用 3局部变量与全局变量 4 测试判断表达式 在一些复杂的Linux维护工作中,大量重复的输入和交互操作不但费时费力,而且容易出错. 编写脚本的好处: 批量的处理,自动化的完成维护,减轻管理员的负担. linux的shell脚本是一种特殊的应用程序,常见的shell解释器有很多种使用不同的shell时期内部指令命令提示方式方面会存在一些区别,可以通过/etc/shells文件查看 [[email protected] ~]

shell编程笔记(1)

shell编程: 编译器,解释器 编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言    强类型(变量)    事先转换成可执行格式    C.C++.JAVA.C#            动态语言:解释型语言, on the fly    弱类型    边解释边执行    PHP.SHELL.python.perl 面向过程:Shell, C面向对象: JAVA, Python, perl, C++ 变量:内存空间,命名 内存:编址的存储单元 进程:1+100:1+10000001