Please enable Javascript to view the contents

Linux基础-Bash语法:重定向Redirection

 ·  ☕ 2 分钟

1. 什么是Bash重定向

重定向用于打开和关闭 当前shell执行环境或任何命令的文件。 如下所述,重定向操作符可与代表文件描述符(参见 XBD 文件描述符)的数字一起使用。

shell常见通配符:

字符说明举例
*匹配0 或多个字符a*b match: a1bsb, axyzb, a012b, ab…; NoMatch: a,b,cb,1b…
?匹配任意一个字符a?b match: aab, abb, acb, a0b…; NotMatch: accb, 123b…
[list]匹配 list 中的任意一个字符a[xyz]b match: axb, ayb, azb; NotMatch: other(axyb,axyzb,xyb…)
[!list]!表示反选, 匹配 除list 中的任意一个字符a[!0-9]b Match: axb,aab,a-b…; NotMatch: a0b, axxb…
[c1-c2]-表示范围, 像[0-9] [a-z]a[0-2]b Match: a0b,a1b,a2b; NotMatch: other(axxxb,a3b…)
{string1,string2,…}匹配 sring1,string2…etc.中的任意字符串a{abc,xyz,123}b Match: aabcb,axyzb,a123b; NotMatch: other

2. 元字符Meta

字符说明
IFS由 或 或 三者之一组成(我们常用 space )。
CR产生。
=设定变量。
$作变量或运算替换(请不要与 shell prompt 搞混了)。
>重导向 stdout。 *
<重导向 stdin。 *
&重导向 file descriptor ,或将命令置于背境执行。 *
( )将其内的命令置于 nested subshell 执行,或用于运算或命令替换。 *
{ }将其内的命令置于 non-named function 中执行,或用在变量替换的界定范围。
;在前一个命令结束时,而忽略其返回值,继续执行下一个命令。 *
&&在前一个命令结束时,若返回值为 true,继续执行下一个命令。 *
!执行 history 列表中的命令。*

3. 转移符

作用:将特殊字符变为普通字符

字符说明
‘(单引号)硬转义,其内部所有的shell 元字符、通配符都会被关掉。
“(双引号)软转义,其内部只允许出现特定的shell元字符:$ 参数代换 ` 命令代替
(反斜杠)转义,去除其后紧跟的元字符或通配符的特殊意义

Reference

shell standard special parameters

分享

Hex
作者
Hex
CloudNative Developer

目录