シェル変数をファイルの内容に設定するエレガントな方法はありますか?

シェル変数をファイルの内容に設定するエレガントな方法はありますか?

ファイルにいくつかの設定データがあるとしましょうconfig。便宜上、このデータをシェル変数にロードしたいと思いますCONFIG_DATA

明らかに私はこれを行うことができます:

CONFIG_DATA="$(cat config)"

しかし、それはちょっと似ています。役に立たない使用cat大きな本。これが唯一の方法ですか?それとも、よりエレガントな方法はありますか?

答えはPOSIXを好む必要がありますが、すべてのシェルを使用できます。

答え1

少なくともBashとZシェルにはより速い方法があります。

CONFIG_DATA=$(<config)

Bourne Againシェルのマニュアルページを引用すると、次のようになります。

コマンド置換 $(cat file) は同じですが、より高速な $(< file) で置き換えることができます。

関連情報