引号是 Linux shell 中的“特殊功能”,它可能会让人感到困惑,特别是如果您不熟悉 Linux 命令和 shell 脚本。 我将解释不同类型的引号字符及其在 shell 脚本中的用法。...因为空格用于分隔命令、选项和参数。在上面的例子中,它Steve作为 grep 的第一个参数,但是Waugh和cricket作为它应该在其中执行搜索的文件。...[202204081703645.png] 忽略所有特殊字符 如果将所有特殊字符括在单引号中,它们就会失去意义。让我们用例子来看看。...3.反斜杠 反斜杠就像在单个字符周围加上单引号。反斜杠“转义”它之前放置的字符。 这意味着反斜杠后面的字符将失去其特殊含义(如果有)。...双引号内的反斜杠 反斜杠是与美元符号和反引号一起保持其特殊含义的三个特殊字符之一。 这样,您可以使用反斜杠来转义美元符号、双引号和双引号中的反引号的特殊含义。
3.grep的双引号和单引号的区别 grep(Global Regular Expression Print)全局正则表达式打印,是Unix和L inux中使用最广泛的命令之一。...在使用的过程中,我们会看到有人用双引号将带待查找模式包围,也有人用单引号将带待查找模式包围,再使用字符串的时候,也有些人既不用单引号也不用双引号。那么单引号和双引号的区别是什么呢?...这里与其说grep的双引号和单引号的区别,不如说是shell的单引号和双引号的使用区别,因为在使用grep进行模式查找时,还是由shell来启动grep进行字符串查找的,shell是所有linux命令的解析器...使用规则: 针对grep,查找一般常量字符串用单引号”括起,如果含有变量则用双引号”“括起。注意,正则表达式也是字符串常量。...---- 参考文献 [1]grep后加单引号、双引号和不加引号的区别 [2]设置环境变量永久生效和临时生效 export PS1 [3]Shell中脚本变量和函数变量的作用域 [4]Linux
要在使用基本正则表达式时保留元字符的特殊含义,必须使用反斜杠(\)对字符进行转义。我们稍后将解释这些元字符和其他元字符的含义。...通常,你应该始终用单引号将正则表达式括起来,以避免shell解释和扩展元字符。 文本匹配 grep命令最基本的用法是在文件中搜索文字字符或字符序列。...如果搜索字符串包含空格,则需要用单引号或双引号将其引起来: grep "FTP User" /etc/passwd 锚点 锚点是元字符,允许您指定必须在行中的什么位置找到匹配项。...下面的内容将同时匹配“bight”和“right”。 ?字符使用反斜杠进行转义,因为我们使用的是基本正则表达式: grep 'b\?...,它允许将模式分组在一起,并将它们作为一个项目引用。
在本文中,我们将探讨在grep的GNU版本中如何使用正则表达式的基础,大多数Linux操作系统默认情况下都提供此功能。 Grep正则表达式 正则表达式或正则表达式是与一组字符串匹配的模式。...为了在使用基本正则表达式时保持元字符的特殊含义,必须使用反斜杠(\)对字符进行转义。稍后我们将解释这些和其他元字符的含义。 通常,您应始终将正则表达式括在单引号中,以避免shell解释和扩展元字符。...如果搜索字符串包含空格,则需要将其用单引号或双引号引起来: $grep "Gnome Display Manager" /etc/passwd 锚定Anchoring Anchoring是元字符,可让您指定必须在该行中找到匹配项的位置...以下将同时匹配“bright”和“right”。 ? 字符以反斜杠转义,因为我们使用的是基本正则表达式: $grep 'b\?...,可让您将模式分组在一起并将其作为一项引用。
linux shell指令 shell是一种脚本语言, 需要有编译器执行 bash是linux下默认的shell sh是unix下默认的shell 在ubuntu中bash和sh都可用 执行...: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 单引号字串中不能出现单引号(对单引号使用转义符后也不行)。...双引号的优点: 双引号里可以有变量 双引号里可以出现转义字符 shell的文件包含 Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本 . filename #或 source filename.../bin/bash for r in 192.168.1.{ 1..254} do ping -c1 -w2 "${ip}" &>/dev/null done arp -n|grep ether...代表一个字符 [abcd] 匹配abcd中的任何一个字符 [a-z] 表示范围a-z,中的任何一个字符 管道符 |:把前面命令的结果给后面的命令 arp -n|grep ether|tr -s '
4.正则表达式中作为匹配任何的单个字符 " " 双引号表示字符串 ' ' 单引号表示字符 , 逗号操作符 链接一系列操作 \|反斜杠(\)|对单个字符的引用机制|一般用来转义双引号(" "...$# 添加到Shell的参数个数 $* 和 $# 的区别: 不被双引号包含时,两者没有区别。 当被双引号包含时, $* 是将所有参数看作一整个数据。而 $# 则是将每个参数看作一个数据。...Bash变量:不区分类型,都是字符串,不允许进行数值计算,除非变量中包含数字。 如果变量的值中间有空格,则使用引号(单引号或双引号均可)扩起来。 5.4 环境变量 会影响用户接口和shell的行为。...操作字符串 字符串是由单引号('') 或者 双引号("") 或者也可不用引号。 单引号 原样输出(变量依然原样输出) 单引号内不能再使用单引号。...|仅显示匹配的字符串(可以和 -n 结合使用)|| [grep仅显示匹配的字符.png] |-v|--invert-match|小写,显示不匹配字符的内容|| [grep显示不匹配patten的字符内容
环境变量也可称为全局变量,可以在创建它们的Shell及其派生出来的任意子进程Shell中使用,环境变量又可分为自定义环境变量和 bash内置的环境变量。...="value" 变量的内容可以用单引号或双引号引起来,也可不加引号,但是这三者的含义是不同的。...Tip: 数字内容的变量定义可以不加引号; 其他没有特别要求的字符串等定义最好都加上双引号; 如果真的需要原样输出就加单引号。 3.3....把命令的结果作为变量的内容赋值的方法 对需要获取命令结果的变量内容赋值的常见方法有2种: # 方法1 # 把命令用反引号引起来,不推荐使用这种方法,因为容易和单引号混淆 variableName=`ls.../blog.csdn.net/humanking7/ # 查找字符串"$var1" 与 文件匹配的内容 root@vultr:~# grep '$var1' test.txt $var1 $var1name
排除单词和模式 要仅显示与搜索模式不匹配的行,请使用-v( 或--invert-match) 选项。...默认情况下,grep区分大小写。这意味着大写和小写被视为不同的字符。要在搜索时忽略大小写,请grep使用该-i选项进行调用。 如果搜索字符串包含空格,则需要将其括在单引号或双引号中。...默认情况下,grep将模式解释为基本正则表达式,其中元字符(例如)|失去其特殊含义,你必须使用它们的反斜杠版本。...如果要使用选项-E扩展正则表达式,则|不应转义运算符,如下所示: > grep -Ewv 'nologin|bash' /etc/passwd 你可以指定不同的可能匹配项,这些匹配项可以是文字字符串或表达式集...例如,要查找包含字符串GNU在你的Linux系统排除的文件proc,boot和sys你要运行的目录: > grep -r --exclude-dir={proc,boot,sys} gnu / 使用通配符匹配时
root:x:0:0:roprot:/root:/bin/bash daemon:x:2:2:daemon:/sbin:/sbin/nologin egrep: [root@adai003 grep...方法2:使用shell脚本 #!...a ' root This is a ' bin This is a ' daemon 脱义单引号和空格!...注: 在awk中使用脱义字符‘\’是起不到作用的,如果想打印特殊字符,只能使用 '""' 这样的组合才可以。 这里自左至右为单引号、双引号、双引号、单引号其中两个单引号为一对,两个双引号为一对。...paste命令 paste命令用于将多个文件按照列队列进行合并。
1、引号细说 我们之前的学习中给大家讲解了变量赋值及引用的操作,那么讲解中说了一下赋值中,如果值包含有空格,我们一定要加上引号,单引号和双引号都是可以的,比如: 1.1、使用双引号 bash [root...@localhost ~]# VAR="a b c" [root@localhost ~]# echo ${VAR} a b c 1.2、使用单引号 bash [root@localhost ~]# VAR...现在我们再来看看如果使用单引号是什么结果。...因此我们可以知道 单引号会使shell忽略特殊字符的含义,双引号则可以解释shell中特殊符号原有的意义。这也就是我们常说的单引号是强引用,双引号是弱引用。...反引号是键盘上ESC下面的一个按键,反引号等效于使用 $() ,都是用于执行shell命令的,比如 bash [root@localhost ~]# ps aux | grep bash | head
awk复习 awk 中使用外部shell变量 awk 中使用外部shell变量 A=44echo "ABCD" | awk -v GET_A=$A ’{print GET_A}’ 说明:-v选项用于定义参数...operator:x:11:0:operator:/AAA:/sbin/nologin awk 截取指定多个域为一行 过滤两个或多个关键词 grep 或 egrep 或awk 过滤两个或多个关键词 grep...:x:0:0:root:/root:/bin/bash 11 '&&& 总结 在awk中脱义单引号字符有两种方法 脱义的单引号字符 表达式为 ' " ' " ' 脱义单引号字符表达式为 " '...' ' " 在awk中脱义双引号字符方法 脱义双引号字符表达式为 " " " 合并两个文件 paste 命令,将多个文件按照列队列进行合并 格式:paste filename1 filename2...//将两个文件中相同的行合并到一行 -d 在两个文件连接处用一个 指定的字符 连接 paste 2.txt 3.txt //将2和3文件中相同的行合并到一行 [root@hf-01 ~]#
8 \* 8 = 64 # 引用 # Shell 中一共有 4 中引用符,分别是 双引号,单引号,反引号,转义符 # "" 双引号:部分引用,可以解释变量 echo "\$Dollar is $Dollar...echo '转义符在单引号内输出 \,单引号只把内容作为字面量输出' echo '转义符不能用,单引号内不能输出单引号' # `` 反引号:命令替换,将命令的标准输出作为值赋给某个变量 # 命令替换也可以使用.../bin/bash # 特殊字符 # 通配符 # 通配符用于模式匹配,常见的通配符有 *、? 和用 [] 括起来的字符序列。...在 [] 表示普通字符,没有通配功效 # 引号 # 02_转义和引用.sh 中介绍过,主要有单引号,双引号,反引号 # 注释符号 # 大括号 # 大括号 {} 在 Shell 中的用法很多 # 1...' # grep # grep 是基于行的文本搜索工具,该命令常用的参数有: # grep [-ivnc] '需要匹配的字符' 文件名 # -i 不区分大小写 # -c 统计包含匹配的行数 # -n
-r: 逐层遍历目录查找 -C: 显示匹配行前后多少行 -l:只列出匹配的文件名 -L:列出不匹配的文件名 -e: 使用正则匹配 -E:使用扩展正则匹配...忽略大小写匹配统计包含关键字root的行数 # grep -i ^root passwd 忽略大小写匹配以root开头的行 # grep bash$ passwd 匹配以bash结尾的行 # grep..., 可以使用以下方法来自行设置 临时设置: # alias grep='grep --color=auto' //只针对当前终端和当前用户生效 永久设置: 1)全局(针对所有用户生效) vim /etc...xargs 一般是和管道一起使用。...,脚本中字符串要用单引号引起来,但是不同于双引号的是,单引号不解释变量 " ": 双引号,脚本中出现的字符串可以用双引号引起来 通配符 ~:
/bin/bash echo 'hello world ' 字符串 #!.../bin/bash NOWTIME=$(date +%Y%m%d\_%H%M%S) ps -ef|grep tomcat|grep -v grep if [ $?...>>/opt/tom-checkp.log fi 扩展知识 单引号,双引号,反引号 区别 a. 单引号(括起来的字符都作为普通字符出现。...特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释) b....双引号(除$(美元符号)、\(反斜杠)、'(单引号)、和"(双引号)这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待) c.
bin:/bin:/sbin/nologin 注意 awk的格式,-F后面紧跟单引号,单引号里面为分隔符。...的功能,但没有颜色显示,肯定没有grep用起来方便。...值得注意的是,在和数字比较时,若把要比较的数字用双引号引起来,那么 awk 不会将其认为是数字,而会认为是字符,不加双引号就会认为是数字。...=表示不匹配,它除了针对某一个段的字符进行逻辑比较外,还可以在两个段之间进行逻辑比较。如下所示: # awk -F ':' '$3 另外,还可以使用 &&和||,它们分别表示“并且”和“或者”。...:1000:aminglinux:/home/aminglinux:/bin/bash 4. awk 的内置变量 awk常用的变量有OFS、NF和NR。
更一般地说:在 shell 和 bash 中需要转义的字符是相同的吗? 回答 有两个简单且安全的规则,不仅适用于 sh,也适用于 bash。 1....这些命令将依次应用于输入文本。2."s/'/'\\\\''/g":•s 是 sed 的替换命令。•/'/'\\\\''/g 中的匹配模式:',即单引号。...g 标志表示全局替换,在输入文本中所有的匹配都会被替换,而不仅仅是最先出现的那个。•作用:将文本中的每个单引号替换为 '\'',这样单引号就可以在单引号引起来的字符串中安全使用。...•// 中间的 \ 整个 sed 命令的作用是: •将文本中的每个单引号替换为 '\'',以便单引号可以在单引号引起来的字符串中安全使用。•在文本的第一行开头添加一个单引号。...对于换行符,请使用单引号或双引号。空字符串仍然需要处理 —— 将其替换为 ""(空字符串)。
grep家族包括grep、egrep和fgrep。其功能是在指定的文件中查找一个指定格式或者内容的字符串,并将匹配的字符串所在行打印出来。...使用该选项,是grep产生的结果与在Unix机器上相同,此选项必须与-b同时使用,否则没有效果,也必须要在 MS-DOS和MS-Windows平台上使用。...grep -n 'test' aa bb cc (5)打印aa中包含有至少5个连续小写字符的字符串的所有行 grep '[a-z]\{5\}' aa 注意,这里必须使用双引号或者单引号将查找pattern...单引号与双引号的区别主要有: (1)单引号’‘是全引用,被单引号括起的内容不管是常量还是变量都不会发生替换; (2)双引号""是部分引用,被双引号括起的内容常量还是常量,变量则会发生替换,替换成变量的内容...一般常量用单引号’'括起,如果含有变量则用双引号""括起来。但是也有意外,比如说查找特殊字符反斜杠\使用:grep '\' .
2.文本搜索工具:grep(可以使用正则表达式搜索文本,并把匹配的行打印出来) 配合history使用: history | grep ls (搜索历史命令中带ls的) ?...heyyou=homeecho "$heyyou" # We get home `command` 倒引号/反单引号(backticks) 在前面的单双引号,括住的是字串,但如果该字串是一列命令列,会怎样...n* man.1 man.test [root@RHEL6 ~]# 善用她的特点,可以做比较精确的档名匹配。 2、在bash中“?”问号也是一个特殊的变量。在bash里面这个变量很重要。...3、在Regular Expressions 正则表达式中(扩展的正则表达式,需要grep -E或者是egrep)“?”代表匹配无和?号前面单一字符,或者类型的实例如4(th)?...个位数的,可直接使用数字,但两位数以上,则必须使用 {} 符号来括住。 $* 则是代表所有引用变量的符号。使用时,得视情况加上双引号。
在一行上输入和执行多条较短的命令,可使用分号来分隔命令 * 匹配任意零个或者多 个字符 不能用于创建文件 ?...匹配方括号中的任意一个字符或数字后进行取反 用于查找和删除文件,不用于创建文件 {string,string} 匹配括号中的任意一 个字符串, 表示一个范围时,字符串之间 个".."...换 行后系统自动显示提示符 > ` 反引号,一般用于引用命令 执行的时候 反引号里面的命令会被执行,与$()作用相 同 ' 单引号,将单引号内的所有内容都原样输出 所有特殊字符在单引号里面都会失去特殊含义..." 双引号,除了几个特殊字符外,将双引号内的几乎所有内容都原样输出 ”$“和“\”以及“ ` ”在双引号里面仍然保留自己的特殊 含义 4.命令别名 简介: 别名是命令的快捷方式。...bash_history中 -r [file]:将历史命令文件中的命令读入当前历史命令缓冲区中 -w:将当前历史命令缓冲区命令写入历史命令文件中; 示例: [root@node13 ~]# history
领取专属 10元无门槛券
手把手带您无忧上云