有没有一种优雅的方法将 shell 变量设置为文件的内容?

有没有一种优雅的方法将 shell 变量设置为文件的内容?

假设我在一个文件中有一些配置数据config。为了方便起见,我想将此数据加载到 shell 变量CONFIG_DATA.

显然我可以这样做:

CONFIG_DATA="$(cat config)"

但这有点像无用的使用cat大部头书。这是唯一的方法吗?或者有更优雅的方法吗?

答案应该更喜欢 POSIX,但可以使用任何 shell。

答案1

至少在 Bash 和 Z shell 中,有一种更快的方法:

CONFIG_DATA=$(<config)

引用 Bourne Again shell 的手册页:

命令替换 $(cat file) 可以替换为等效但更快的 $(< file)。

相关内容