![有没有一种优雅的方法将 shell 变量设置为文件的内容?](https://linux22.com/image/100811/%E6%9C%89%E6%B2%A1%E6%9C%89%E4%B8%80%E7%A7%8D%E4%BC%98%E9%9B%85%E7%9A%84%E6%96%B9%E6%B3%95%E5%B0%86%20shell%20%E5%8F%98%E9%87%8F%E8%AE%BE%E7%BD%AE%E4%B8%BA%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%9F.png)
假设我在一个文件中有一些配置数据config
。为了方便起见,我想将此数据加载到 shell 变量CONFIG_DATA
.
显然我可以这样做:
CONFIG_DATA="$(cat config)"
但这有点像无用的使用cat
大部头书。这是唯一的方法吗?或者有更优雅的方法吗?
答案应该更喜欢 POSIX,但可以使用任何 shell。
答案1
至少在 Bash 和 Z shell 中,有一种更快的方法:
CONFIG_DATA=$(<config)
引用 Bourne Again shell 的手册页:
命令替换 $(cat file) 可以替换为等效但更快的 $(< file)。