Disons que j'ai des données de configuration dans un fichier config
. Pour plus de commodité, je voudrais charger ces données dans une variable shell, CONFIG_DATA
.
Évidemment je peux faire:
CONFIG_DATA="$(cat config)"
Mais cela me semble un peu inutilecat
. Est-ce la seule façon de procéder? Ou existe-t-il une manière plus élégante de le faire?
Les réponses devraient préférer POSIX mais peuvent utiliser n'importe quel shell.
shell-script
shell
io-redirection
strugee
la source
la source
Réponses:
Dans Bash et le shell Z, au moins, il existe un moyen plus rapide:
Pour citer la page de manuel du shell Bourne Again:
la source
$(<file)
c'est beaucoup moins courant, donc cela pourrait entraîner beaucoup plus de WTF; et le gain de vitesse de cette opération, si une telle configuration doit être chargée dans une variable, est probablement négligeablefor i in $(cat file); do ...
est un autre. Le fait qu'ils soient courants n'est pas une raison pour continuer à utiliser de mauvais outils. Ce qui ne veut pas dire que cette utilisation particulière du chat est un mauvais tooi, je ne sais pas s'il existe un moyen plus portable. Dire simplement que commun et familier! = Bon.