这个符号在 bash 中是什么意思? 来源. [Docs]进程替换< () [Docs]

问题描述

我很确定这将是重复的,因为我有时在其他地方看到过它,但我不记得在哪里,我也(显然)不知道它是如何命名的。

在另一个 SO 帖子中,有一段代码(bash):

obj(){
    . <(sed "s/obj/$1/g" obj.class)
}

. < 有什么作用?如果它有名字,那是什么?

解决方法

来源. [Docs]

从当前 shell 上下文中的文件名参数读取和执行命令。

source 是 bash 中点/句点 . 的同义词,但不是 POSIX sh,因此为了最大程度的兼容性,请使用句点。


进程替换< () [Docs]

进程替换允许使用文件名引用进程的输入或输出。

,

在终端中输入:

help .

函数 obj 接受一个参数。它执行 sed 并用参数替换文件 obj 中所有出现的 obj.class。结果用作 Bash 代码并由正在运行的 Bash 实例评估。